Objekte erstellen - 1

„Hallo, hier ist wieder dein Lieblingslehrer. Da du so große Fortschritte machst, habe ich beschlossen, dir von Objekten zu erzählen und davon, wie man damit umgeht.“

„Um ein Objekt zu erstellen, musst du das Schlüsselwort 'new' gefolgt von seinem Typnamen (Klassennamen) eingeben. Angenommen, wir haben eine Klasse namens ‚Katze':“

Code Beschreibung
Cat cat;
Deklariert eine Katze-Referenzvariable namens katze. Der Wert der Variablen katze ist Null.
new Cat();
Erstellt ein Katze-Objekt.
Cat cat = new Cat();
Erstellt eine Katze-Referenzvariable namens katze.
Erstellt ein neues Katze-Objekt. Weist der Variablen katze eine Referenz auf das neu angelegte Objekt zu.
Cat kitty = new Cat();
Cat smokey = new Cat();
Zwei Objekte werden erstellt. Referenzen auf diese werden zwei verschiedenen Variablen zugewiesen.
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
Zwei Objekte werden erstellt. Referenzen auf diese werden zwei verschiedenen Variablen zugewiesen.

Dann setzen wir die Variable smokey gleich einer Referenz auf das Objekt, auf das die Variable kitty verweist. Beide Variablen verweisen nun auf die zuerst erstellten Objekte.
(Da das zweite Objekt nirgendwo mehr referenziert wird, gilt es nun als Garbage)

Cat kitty = new Cat();
Cat smokey = null;

smokey = kitty;

kitty = null;
Ein Katze-Objekt wird erstellt und eine Referenz darauf wird der ersten Variablen (kitty) zugewiesen. Die zweite Variable (smokey) speichert eine leere (null) Referenz.

Beide Variablen verweisen auf das gleiche Objekt.

Jetzt verweist nur noch smokey, aber nicht kitty, auf ein Objekt.

„Was würde passieren, wenn wir ein Objekt erstellen und keine Referenz in einer Variablen speichern würden?“

„Wenn wir ein Objekt einfach erstellen, ohne es einer Variablen zuzuweisen, erstellt die Java-Maschine es und deklariert es dann als Garbage (ein unbenutztes Objekt). Nach einer Weile wird das Objekt während der Garbage Collection entsorgt.“

„Wie entsorge ich ein Objekt, den ich nicht mehr brauche?“

„Das machst nicht du. Sobald keine Variablen auf ein Objekt verweisen, wird es als Garbage klassifiziert und von der Java-Maschine bei der nächsten Garbage Collection zerstört. "

Solange es mindestens eine Referenz auf ein Objekt gibt, gilt es als aktiv und wird nicht zerstört. Wenn du ein Objekt früher entsorgen möchtest, kannst du alle Referenzen darauf löschen, indem du allen Variablen, die darauf verweisen, null zuweist.

„Ich verstehe. Im Vergleich zu den letzten Lektionen sieht das ziemlich einfach aus.“

„Diego war die ganze Nacht wach und hat sich Aufgaben für dich ausgedacht. Er hat sich diese besondere Mühe nur für dich gemacht. Er hat einen tollen Sinn für Humor, weißt du?“