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
Katze katze;
Deklariert eine Katze-Referenzvariable namens katze. Der Wert der Variablen katze ist Null.
new Katze();
Erstellt ein Katze-Objekt.
Katze katze = new Katze();
Erstellt eine Katze-Referenzvariable namens katze.
Erstellt ein neues Katze-Objekt. Weist der Variablen katze eine Referenz auf das neu angelegte Objekt zu.
Katze kitty = new Katze();
Katze smokey = new Katze();
Zwei Objekte werden erstellt. Referenzen auf diese werden zwei verschiedenen Variablen zugewiesen.
Katze kitty = new Katze();
Katze smokey = new Katze();

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)

Katze kitty = new Katze();
Katze 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?“