Illustration einer tropischen Insel mit Palmen und einem hohen Berg

Java Blog für Programmierer

Sich selbst mit this übergeben

· Christian Ullenboom

Möchte sich ein Objekt A einem anderen Objekt B mitteilen, damit B das andere Objekt A „kennt“, so funktioniert das gut mit der this-Referenz. Demonstrieren wir das an einem „Ich bin dein Vater“-Beispiel: Zwei Klasen Luke und Darth repräsentieren zwei Personen, wobei Luke ein Attribut dad für seinen Vater hat:

LukeAndDarth.java, Teil 1

class Luke {
 Darth dad;
}

class Darth {
 void revealTruthTo( Luke son ) {
 son.dad = this;
 }
}

Spannend ist die Methode revealTruthTo(Luke), denn sie setzt beim übergebenen Luke-Objekt das dad-Attribut mit der this-Referenz. Damit kennt Luke seinen Vater, getestet in folgender Klasse:

LukeAndDarth.java, Teil 2

public class LukeAndDarth {
 public static void main( String[] args ) {
 Luke luke = new Luke();
 Darth darth = new Darth();
 System.out.println( luke.dad ); // null
 darth.revealTruthTo( luke );
 System.out.println( luke.dad ); // Darth@15db9742
 }
}

Hinweis: In statischen Methoden steht die this-Referenz nicht zur Verführung, da wir uns in Klassenmethoden nicht auf ein konkretes Objekt beziehen.

Kategorien: Insel

← Alle Beiträge