tengo el siguiente código. Quiero obtener el objeto de clase externa usando el cual creé el objeto de clase interna inner
. ¿Cómo puedo hacerlo?
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 :-( ");
}
}
}
EDITAR: Bueno, algunos de ustedes sugirieron modificar la clase interna agregando un método:
public OuterClass outer() {
return OuterClass.this;
}
Pero, ¿qué pasa si no tengo control para modificar la clase interna, entonces (solo para confirmar) ¿tenemos alguna otra forma de obtener el objeto de clase externa correspondiente del objeto de clase interna?