Objekt mit einem Objekt als Instanzvariable

LP22

Mitglied
Hallo

Mal eine kleine Verständnisfrage. Angenommen es gibt eine Klasse Spiel und eine Klasse Spielstand. Jetzt hat das Spiel eine Instanzvariable Spielstand. Also so:

private Spielststand spielstand1;

Wenn nun ein Objekt der Klasse Spielstand existiert und ein Objekt der Klasse Spiel initialisiert wird und mit dem Spielstand1 deklariert wird, das könnte zum Beispiel so aussehen:
public Spiel(Spielstand spielstand){
this.spielstand1 = spielstand;},
dann referenziert dieses Objekt auf Spielstand1, korrekt?

Wenn nun ein zweites Objekt der Klasse Spiel gleich erstellt wird (mit dem Spielstand1), dann referenziert auch dieses auf das Objekt Spielstand1, richtig? Das Objekt Spielstand1 exisitiert aber weiterhin nur einmal im Memory?

Hoffe es ist klar was genau mein 'Problem' ist 🙂
 
Falls du das hier meinst:
Java:
Spielstand sp = new Spielstand();
Spiel a = new Spiel(sp);
Spiel b = new Spiel(sp);
dann ja, denn beiden Spielen wurde das gleiche Objekt übergeben und daher zeigen die Variablen a.spielstand1 und b.spielstand1 auf das gleiche Objekt.
Variablen sind in Java entweder primitive Typen (int, char, etc.), welche den Wert direkt beinhalten oder es sind Referenzen, welche quasi einen Zeiger auf ein Objekt darstellen. Und in deinem Beispiel hast du eben zwei Referenzvariablen, welche auf das gleiche Objekt im Heap zeigen.
 

Zurück
Oben