Slyh: Speichermanagement

Beitrag lesen

Hallo,

Auto a;
a = new Auto();
a = new Auto();

Erzeugt dieser Code tatsächlich nur ein Objekt vom Typ Auto oder werden zwei Objekte erzeugt, von denen allerdings nur das zweite referenziert und das erste quasi sofort nach dem Erzeugen zum Abschuß für den Garbage Collector freigegeben wird?

Letzteres.

(Wieso sollte nur ein Objekt erzeugt werden? Stell dir vor im Auto-
Konstruktor würde eine wichtige Aktion durchgeführt werden. Würde nur
einmal Auto erzeugt werden, würde diese Aktion nur einmal ausgeführt
werden. Und das ist natürlich ungewünscht.)

Gruß
Slyh