Kod niza imaš deklarisanje niza, instanciranje niza i popunjavanje niza. To su 3 različite stvari koje mogu da se spajaju pa u jednoj liniji možeš uraditi jednu od njih, više njih ili sve 3.
U liniji:
Code:
MojaKlasa[] mojaKlasaNiz = new MojaKlasa[10];
se deklariše promenljiva čiji je tip "referenca na niz objekata klase MojaKlasa" a ime je mojaKlasaNiz. To je ona prva stvar a u kodu je iskazano u prvom delu izraza dodele. Posle znaka dodele je 2. stvar tj. instanciranje niza. Niz je u javi objekat zato se koristi operator new, niz takođe ima fiksnu veličinu koja se pri instanciranju zadaje.
Ovaj kod je isti kao onaj što si dao za u primeru za niz int-ova. Tj. niz se isto pravi bez obzira da li je niz primitivnih tipova ili niz objekata.
Ostala je samo 3. stvar a to je da se niz popuni. Možeš svaki element posebno, možeš petljom... Element dodeliš isto i u slučaju da je element objekat i u slučaju da nije. Samo je razlika što kad praviš objekat pozivaš konstruktor. Ali to nema veze sa nizom.
Code:
MojaKlasa mk = new MojaKlasa();
mojaKlasaNiz[0] = mk;
Mogao si ove 2 linije spojiti u jednu pa da ti ne treba promenljiva mk.
Sve ove 3 stvari možeš spojiti u jednu preko izraza:
Code:
MojaKlasa[] mojaKlasaNiz = {new MojaKlasa(), new MojaKlasa(), new MojaKlasa()};
I uzmi neku bolju knjigu iz jave, tamo je ovo lepo objašnjeno.
[Ovu poruku je menjao Au197/79 dana 29.06.2007. u 09:32 GMT+1]