当类构造函数有参数时,如何在java中初始化数组?

时间:2012-05-04 22:01:18

标签: java arrays initialization

我有这个类构造函数:

public Category(int max){
...
}

问题是,我想创建这个类的数组,如何初始化它?

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

不起作用。

更新

我需要做这样的事吗?

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

然后初始化每个对象?

4 个答案:

答案 0 :(得分:13)

制作数组时,您正在创建一个Category数组。这是一个数组的实例。

使用Category对象填充数组时,此时使用带Const的类别。

Category [] categories = new Category[4];
categories[0] = new Category(10);

答案 1 :(得分:7)

您也可以在线执行此操作 - 同时创建数组并使用其构造函数启动的值填充它。假设你有一个名为Field的类,它有一个带有两个参数的构造函数,你想构造一个这样的数组......

Field[] fields = new Field[]{
    new Field(1, "Record_Type"),
    new Field(3, "Record_SubType"),
    new Field(6, "Row_Number"),
    ...
};

答案 2 :(得分:6)

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

将使用4个空类别进行实例化,您必须稍后自己填写内容 或者你可以试试:

private Category[] categories = {new Category(max), new Category(max), new Category(max), new Category(max)};

答案 3 :(得分:3)

首先将其初始化为数组

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

然后初始化每个单独的元素。