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

当类构造函数有参数时,如何在java中初始化数组?,java,arrays,initialization,Java,Arrays,Initialization,我有一个类构造函数: public Category(int max){ ... } 问题是,我想为这个类创建一个数组,如何初始化它 private Category categories = new Category(max)[4]; 不起作用 更新 我需要这样做吗 private Category[] categories = new Category[4]; 然后初始化每个对象?首先将其初始化为数组 Category[] categories = new Categories[4];

我有一个类构造函数:

public Category(int max){
...
}
问题是,我想为这个类创建一个数组,如何初始化它

private Category categories = new Category(max)[4];
不起作用

更新

我需要这样做吗

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

然后初始化每个对象?

首先将其初始化为数组

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

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

创建数组时,您正在创建一个类别数组。这是数组的一个实例

当使用类别对象填充数组时,此时将使用带有常量的类别

Category [] categories = new Category[4];
categories[0] = new Category(10);
将用4个空类别实例化,以后您必须自己填写内容。
或者您可以尝试:

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

您也可以在线执行此操作—生成数组并立即用其构造函数启动的值填充它。假设您有一个名为Field的类,它有一个接受两个参数的构造函数,并且您希望构造这些参数的数组

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