Java Referenz beidseitig benutzen?

... komplette Frage anzeigen

3 Antworten

Das hört sich an, als wolltest du einen Callback durchführen. Verwende dazu das Observer-Pattern. Das eine Objekt übermittelt dem anderen Objekt, dass es auf eine Zustandsänderung o.ä. reagieren soll.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von FinnKrammerJava
18.06.2017, 19:45

Danke für die Antwort :)

0

Wie wärs damit?:

class CLASS1{
private CLASS2 c2;
public CLASS1(){
this.c2 = new CLASS2(this);
}
public CLASS1(CLASS2 c2){
this.c2 = c2;
}
public CLASS2 getC2(){
return this.c2;
}
}

class CLASS2{
private CLASS2 c1;
public CLASS2(){
this.c1 = new CLASS1(this);
}
public CLASS2(CLASS1 c1){
this.c1 = c1;
}
public CLASS1 getC1(){
return this.c1;
}
}

Wenn du jetzt eine Instanz von CLASS1 erstellst, kannst du mit der Methode "getC2" die jeweilige Instanz von CLASS2 abrufen, oder, wenn du eine Instanz von CLASS2 erstellst, mit "getC1" die entsprechende Instanz von CLASS1.

Und jetzt wirds lustig:

CLASS1 c1 = new CLASS2().getC1();
CLASS2 c2 = c1.getC2();
if(c1.equals(c2.getC1())){
System.out.println("WOHOOO!!!");
}
else{
System.out.println("WTF?! Das sollte eigentlich nicht passieren...");
}

Es ist dabei also egal, ob du zuerst c1 oder c2 erstellst, das jeweils andere wird gleich miterstellt und enthält einen Verweis auf das "andere andere". ;)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von FinnKrammerJava
18.06.2017, 19:45

Ui vielen Dank für die Umfangreiche Antwort :D Ich werde das mal ausprobieren!

0

schlüsselwort static?

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?