14

我有这个类构造函数:

public Category(int max){
...
}

问题是,我想做一个这个类的数组,我该如何初始化它?

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

不工作。

更新

我需要做这样的事情吗?

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

然后初始化每个对象?

4

4 回答 4

18

当您制作一个数组时,您正在创建一个类别数组。那是数组的一个实例。

当您使用 Category 对象填充数组时,您可以使用带有 Const 的 Category。

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

您也可以在线执行此操作 - 制作数组并使用其构造函数一次启动的值填充它。假设您有一个名为 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 个空类别实例化,您必须稍后自己填充内容。
或者您可以尝试:

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 回答