2012-05-04 75 views
6

我有這樣的構造函數:當類構造函數有參數時如何在java中初始化數組?

public Category(int max){ 。 。 。 }

事情是,我想創建一個這個類的數組,我該如何初始化它?

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

不起作用。

UPDATE

我需要做這樣的事情?

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

然後初始化每個對象?

+2

對你的編輯。 –

回答

12

當你正在創建一個數組時,你正在創建一個Category數組。這是一個數組的實例。

當您使用Category對象填充數組時,此時使用帶Const的類別。

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

初始化它作爲一個陣列的第一

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

然後初始化每個單獨的元件。

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

將有4個空類實例化,你必須自己後來補的內容。
或者你可以嘗試:

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

你也可以做到這一點在線 - 使雙方的數組,並在一旦與它們的構造函數初始化值來填充它。假設你有一個叫做Field的類,它有一個構造函數帶兩個參數,並且你想要構造這些的一個數組...

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