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

Moi*_*nez 10 java arrays initialization

我有这个类构造函数:

public Category(int max){
...
}
Run Code Online (Sandbox Code Playgroud)

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

private Category categories = new Category(max)[4];
Run Code Online (Sandbox Code Playgroud)

不行.

UPDATE

我需要做这样的事情吗?

private Category[] categories = new Category[4];
Run Code Online (Sandbox Code Playgroud)

然后初始化每个对象?

Dar*_*der 15

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

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

Category [] categories = new Category[4];
categories[0] = new Category(10);
Run Code Online (Sandbox Code Playgroud)


Mr.*_*pik 7

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

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


Jea*_*rin 6

private Category[] categories = new Category[4];
Run Code Online (Sandbox Code Playgroud)

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

private Category[] categories = {new Category(max), new Category(max), new Category(max), new Category(max)};
Run Code Online (Sandbox Code Playgroud)