Array av objekt
En arrayx med 10 st element som är av den primitiva typen int deklareras så här.
Arrayen består 10 st element,
int [] x = new int[10];
x[0], x[1], ...,x[9] och alla element får värdet noll (0).
På ett liknade sätt kan vi deklarera arrayer av objekt.
Antag att det finns en klass Person, där en person består av ett namn, adress och en ålder.
Vi kan då deklarera en variabel som är en array av Person så här:
Arrayen får 10 element, där varje element är av typen
Person [] personReg = new Person[10];
Person.
Index i arrayen är 0-9. Det första elementet är personReg[0] och det sista är personReg[9]. Alla element får värdet null och förklaringen till detta är att vi inte har skapat något Person-objekt. Att det blir just null har att göra med att elementen är referenser till objekt och i med att vi inte har skapat Person-objekt, vilket görs med new Person(...);, så får dessa referenser värdet null för att tydligöra att det f.n. INTE refererar till något Person-objekt.
Om vi skriver ut arrayens element så här:
kommer resultatet att bli:
for (int i=0; i<10; i++) { System.out.println(i + ":" + personReg[i]); }
0:null 1:null 2:null 3:null 4:null 5:null 6:null 7:null 8:null 9:null
För att initiera elementen i arrayen kan vi göra så här:
En utskrift ger nu följande resultat:
// Initiera elementet med index 0 (noll) genom att // anropa konstruktorn med tre parametrar i klassen Person personReg[0] = new Person( "Kim", "Kungsgatan 14", 22); // Initiera elementen med index 1..9 genom att anropa // konstruktorna utan parametrar for (int i=1; i<10; i++) { personReg[i] = new Person(); }
0:Name=Kim, Address=Kungsgatan 14, Age=22 1:Name=NoName, Address=null, Age=0 2:Name=NoName, Address=null, Age=0 3:Name=NoName, Address=null, Age=0 4:Name=NoName, Address=null, Age=0 5:Name=NoName, Address=null, Age=0 6:Name=NoName, Address=null, Age=0 7:Name=NoName, Address=null, Age=0 8:Name=NoName, Address=null, Age=0 9:Name=NoName, Address=null, Age=0