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.

undefined
1
Aufgabe
Java Syntax, Level 2, Lektion 3
Gesperrt
Eine Katze ist nicht genug
Wie du weißt, wurde Rom nicht an einem Tag mit Katzen bevölkert. Aber Objekte können rasend schnell erstellt werden. Beginnen wir mit einer kleinen Gruppe von Pelzknäueln: Erstelle zwei Katze-Objekte und weise ihnen Namen zu. Vergiss nicht, dass jede Katze ein Individuum ist, also müssen die Namen unterschiedlich sein.

„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?“

undefined
1
Aufgabe
Java Syntax, Level 2, Lektion 3
Gesperrt
Max, Bella und Jack
Wenn du diese Aufgabe öffnest, findest du eine vorhandene Klasse Hund. Wir müssen mehrere Hunde erstellen. Wir haben uns ihre Geschichten bereits ausgedacht: Wir wissen, wie sie aussehen, auf welche Namen sie hören usw. Aber bei dieser Aufgabe sind wir an folgendem interessiert: Erstelle drei Hund-Objekte und nenne sie dann „Max“, „Bella“ und „Jack“.
undefined
1
Aufgabe
Java Syntax, Level 2, Lektion 3
Gesperrt
Subjektive Realität
Ein schlechter Tänzer stolpert über seine eigenen Füße, und ein Programmierer kann durch seine Programmiersprache verwirrt werden. Eine moderne Legende, die unter jungen Programmierern verbreitet ist, besagt: „Wenn du nicht gut programmierst, wird Java kommen und dein Gedächtnis auffressen.“ Warum zeigst du diesen Spruch nicht auf der Konsole an? Und vergiss nicht, dein Gedächtnis zu schützen! Es ist nicht unbegrenzt.
undefined
1
Aufgabe
Java Syntax, Level 2, Lektion 3
Gesperrt
Code-Eingabe
Manchmal darf man gar nicht nachdenken, man muss es einfach raushauen! Auch wenn es sich paradox anhört, manchmal „erinnern“ sich deine Finger besser als dein bewusster Verstand. Deshalb wirst du es im Rahmen der Schulung im geheimen CodeGym-Zentrum manchmal mit Aufgaben zu tun bekommen, bei denen du Code eingeben musst. Wenn du Code eingibst, gewöhnst du dich an die Syntax und sammelst ein wenig dunkle Materie. Außerdem tust du etwas gegen deine Faulheit!