Ich habe den folgenden Code. Ich möchte das äußere Klassenobjekt erreichen, mit dem ich das innere Klassenobjekt erstellt habe inner
. Wie kann ich es tun?
public class OuterClass {
public class InnerClass {
private String name = "Peakit";
}
public static void main(String[] args) {
OuterClass outer = new OuterClass();
InnerClass inner = outer.new InnerClass();
// How to get the same outer object which created the inner object back?
OuterClass anotherOuter = ?? ;
if(anotherOuter == outer) {
System.out.println("Was able to reach out to the outer object via inner !!");
} else {
System.out.println("No luck :-( ");
}
}
}
EDIT: Nun, einige von euch haben vorgeschlagen, die innere Klasse durch Hinzufügen einer Methode zu modifizieren:
public OuterClass outer() {
return OuterClass.this;
}
Aber was ist, wenn ich keine Kontrolle zum Ändern der inneren Klasse habe? Haben wir dann (nur zur Bestätigung) eine andere Möglichkeit, das entsprechende äußere Klassenobjekt vom inneren Klassenobjekt zu erhalten?