2012-05-04 7 views
6

Ho questo costruttore di classi:Come inizializzare la matrice in java quando il costruttore della classe ha parametri?

public Category (intmax) { . . . }

Il fatto è che voglio creare un array di questa classe, come inizializzarlo?

private Categorie categoria = nuova Categoria (max) [4];

Non funziona.

UPDATE

Ho bisogno di fare qualcosa di simile?

Categoria privata [] categorie = nuova Categoria [4];

E quindi inizializzare ogni oggetto?

+2

sì alla tua modifica. –

risposta

12

Quando si crea un array, si crea un array di Categoria. Questa è un'istanza di array.

Quando si popola la matrice con oggetti Categoria, a quel punto si utilizza la categoria con Const.

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

Inizializzare come un array primo

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

Poi inizializzare ogni singolo elemento.

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

vengono istanziati con 4 categorie nulli, è necessario compilare il contenuto te più tardi.
Oppure si può provare:

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

Si può anche fare questo in linea - fare sia l'array e popolarlo con i valori promossi con i loro costruttori in una sola volta. Supponiamo che tu abbia una classe chiamata Field che ha un costruttore che prende due parametri e vuoi costruire un array di questi ...

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