Zugriff auf die äußere Klassenvariable über das innere Klassenobjekt in main
class Host {
int x=2;
class Helper {
int x = 7;
}
public static void main(String[] args){
Host ho = new Host();
Helper he = ho.new Helper();
System.out.println(ho.x);
System.out.println(he.x);
}
}
Hier erhalte ich also die erwartete Ausgabe
2
7
Jetzt wollte ich das fragen, sagen wir, ich möchte darauf zugreifenho
'sx
vonhe
.
Das heißt Ich möchte hier etwas, das mich drucken wird2
durch das Helper-Objekthe
:
System.out.println(???);
Ich weiß, dass es so etwas nicht gibt, ich möchte nur mein Konzept von verschachtelten Klassen klarstellen. Ich denke, dass dies möglich sein sollte, weil das Helper-Objekthe
ist an das Host-Objekt gebundenho
. Schon seithe
geht nicht ohneho
. Aus der Helferklasse heraus kann ich das machenSystem.out.println(Host.this.x);
und es funktioniert. Ich kann nicht herausfinden, wie man es von innen macht.