Grundlegende Frag zu Java und OOP

kossy

Bekanntes Mitglied
Hallo zusammen !

Ich habe mal zwei Frage zu Java eher im Allgemeinen. Ich habe hier den folgenden Code:

Java:
Gebäude geb1;
Gebäude geb2;

geb1 = new Gebäude();
geb2 = new Gebäude();

Jetzt ist es doch so, das "zwei verschiedene" Objekte im Arbeitsspeicher liegen richtig?


Wie genau ist in dem unteren Beispiel? Dort müsste doch jetzt immer nur "ein" Objekt, anstatt 11 Objekten, im Arbeitsspeicher liegen, weil die anderen durch den Schleifendurchlauf immer wieder überschrieben werden und nicht mehr auffindbar sidn, richtig?

Java:
Gebäude geb1;

for (int i = 0; i < 10; i++){

    geb1 = new Gebäude();

}

Wäre eine dauerhafte Objektspeicherung innerhalb einer Schleife nur mit einer Liste (LIST, ARRAYLIST, VECTOR) möglich?

Grüße
Kossy
 
Das ist soweit korrekt, außer das ich hier nicht von dauerhafter Speicherung sprechen würde, da du ja nichts persistierst.
 
Wie genau ist in dem unteren Beispiel? Dort müsste doch jetzt immer nur "ein" Objekt, anstatt 11 Objekten, im Arbeitsspeicher liegen, weil die anderen durch den Schleifendurchlauf immer wieder überschrieben werden und nicht mehr auffindbar sidn, richtig?
Theoretisch hat man am Ende nur ein Objekt im Arbeitsspeicher, praktisch kann man es nicht genau sagen, da man nicht weiß, wann der Garbage Collector die nicht mehr referenzierten Objekte entfernt.
Übrigens werden hier 10, nicht 11 Objekte erzeugt. 😉
 
Dein Ziel ist es doch, ein Objekt zu erzeugen?
Das hast du ja getan, aber wieso sollte dann auf einmal nichts mehr vorhanden sein ???:L
 

Zurück
Oben