webForumDet fria alternativet

skapa array av en klass!

Java

2 svar · 587 visningar · startad av seek_fantomen

Medlem sedan nov. 20062 inlägg
Frågan#1

MyClass []c = new MyClass[3];

Denna satsen skapar inte tre instanser av klass MyClass men istället skapar den tre null referenser till MyClass klassen. Min fråga är, hur skapar jag en MyClass array som både är deklarerad och initierard (anrop till default konstruktor) med objekt av typen MyClass.

Jag vet att man kan skapa null referenser som jag gjorde tidigare och sedan tilldela en och en instanser av objekt MyClass till array c.

Varför jag undrar är för att i c++ så kan man ju initiera en array så här:

MyClass c[] = MyClass[3];

då anropas klassens konstruktor tre gånger och initierar dess medlem varibale och sedan till denna adressen till t.ex c array.

Snälla försök att besvara min fråga, den fet märkta texten.

Medlem sedan juni 20008 205 inlägg
#2

Foo bar[] = {new Foo(), new Foo(), new Foo()};
Finns ingen genväg. I Java kan man bara deklarera pekare till objekt, så det går inte att initiera ett objekt genom enbart en deklaration, som man t.ex. kan med intar och andra primitiver.

Medlem sedan nov. 20062 inlägg
#3

Bra förklaring Spango och tack.

263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)