JAVAクラスオブジェクト配列の作成について

1293 ワード

私は最近JAVAを勉强して、基础から见て、クラス构造関数の重载を学ぶ时、异なる构造関数を使ってオブジェクトを作成して、コードがとても复雑に见えて、配列の方式を使って一度に多くのオブジェクトを作成したいと思っています.
文字列String配列の作成方法と組み合わせてクラスオブジェクトを作成します.コードは次のとおりです.
M[] m = {(),("   "),("   ",0),("   ",5,' ')};

プログラムが間違っていることに気づきました.
---------- javac ----------
J630f.java:11:   :   ->
		M[] m = {(),("   "),("   ",0),("   ",5,' ')};		
		           ^


なぜエラーが発生したのでしょうか.
複数の文字列を直接作成することは、直接使用できることを知っています.
String [] s={"gdfs","gsdfh","hh","jyt"};

または、
String [] s=new String []{"gdfs","gsdfh","hh","jyt"};

どちらもクラスオブジェクトを作成するときに使用できません.
データをクエリーすると、文字列の格納は定数プールで文字列オブジェクトを作成してからスタックメモリにオブジェクトを作成することに気づきました.詳細は記事を参照クリックしてリンクを開く
ただし、クラスオブジェクトを作成するときは定数プールではなく、new呼び出しコンストラクション関数を直接使用してスタックメモリにメモリ領域を開いて格納するため、新しいオブジェクトを作成するたびにnewを使用する必要があります.オブジェクト配列は依然としてです.したがって、配列オブジェクトを作成するには、次の文を使用します.
M[] m = {new M(),new M("   "),new M("   ",0),new M("   ",5,' ')}

以下も使用できます.
M[] n = new M [5];
n[0]=new M();
n[1]=new M("   ");

オブジェクトをそれぞれ初期化します.