zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

String alpha = "Dempster Dumpster";

alpha = null;

. . .
  1. Wo wird ein Objekt konstruiert?
    • In der ersten Anweisung.
  2. Was wird aus dem Objekt?
    • Es wurde in der zweiten Anweisung Ausschuss.

Datenausschuss

Die erste Anweisung macht zwei Dinge: (1) ein Stringobjekt mit den Zeichen "Dempster Dumpster" wird erzeugt. Dann (2) wird eine Referenz auf dieses Objekt in der Referenzvariablen alpha gespeichert.

Die zweite Anweisung weist alpha den Wert null zu. Wenn das passiert, ist die Referenz auf das Objekt verloren. Da es nirgends mehr eine Referenz auf das Objekt gibt, ist es jetzt Ausschuss.

Die durchgezogene Linie in der Box der zweiten Anweisung symbolisiert den null-Wert. Das Objekt existiert noch im Speicher. Der Speicher aus dem es besteht wird irgendwann vom Speicherbereinigungsdienst recycelt und für neue Objekte verfügbar gemacht.

FRAGE 7:

Prüfen Sie den (leicht geänderten) Codeschnipsel:

String alpha = "Dempster Dumpster";
String beta  = alpha;
alpha = null;

. . .
  1. Wann wurde ein Objekt erzeugt?
  2. Was passierte in der zweiten Anweisung?
  3. Was wird aus diesem Objekt?