14

私はこのクラスコンストラクターを持っています:

public Category(int max){
...
}

問題は、このクラスの配列を作成したいのですが、どうすれば初期化できますか?

private Category categories = new Category(max)[4];

動作しません。

アップデート

このようなことをする必要がありますか?

private Category[] categories = new Category[4];

そして、各オブジェクトを初期化しますか?

4

4 に答える 4

18

配列を作成するときは、Categoryの配列を作成します。これは配列のインスタンスです。

配列にCategoryオブジェクトを設定する場合、その時点でConstを使用してCategoryを使用します。

Category [] categories = new Category[4];
categories[0] = new Category(10);
于 2012-05-04T22:04:08.573 に答える
9

これをインラインで行うこともできます。配列を作成し、コンストラクターで開始された値を一度に入力します。2つのパラメーターを受け取るコンストラクターを持つFieldというクラスがあり、これらの配列を作成したいとします...

Field[] fields = new Field[]{
    new Field(1, "Record_Type"),
    new Field(3, "Record_SubType"),
    new Field(6, "Row_Number"),
    ...
};
于 2013-07-02T14:11:10.747 に答える
7
private Category[] categories = new Category[4];

4つのnullカテゴリでインスタンス化されます。後で、コンテンツを自分で入力する必要があります。
または、次のことを試すことができます。

private Category[] categories = {new Category(max), new Category(max), new Category(max), new Category(max)};
于 2012-05-04T22:04:52.307 に答える
3

最初に配列として初期化します

Category[] categories = new Categories[4];
categories[0] = new Category(max);

次に、個々の要素を初期化します。

于 2012-05-04T22:03:44.260 に答える