다음 코드가 있습니다. 내부 클래스 객체를 만든 외부 클래스 객체를 잡고 싶습니다 inner
. 내가 어떻게 해?
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 :-( ");
}
}
}
편집 : 글쎄, 여러분 중 일부는 메소드를 추가하여 내부 클래스를 수정하도록 제안했습니다.
public OuterClass outer() {
return OuterClass.this;
}
그러나 내부 클래스를 수정할 수있는 컨트롤이 없다면 내부 클래스 객체에서 해당 외부 클래스 객체를 얻는 다른 방법이 있습니까?