Если у меня есть экземпляр внутреннего класса, как я могу получить доступ к внешнему классу из кода, который не находится во внутреннем классе? Я знаю, что во внутреннем классе я могу использовать Outer.this
для получения внешнего класса, но я не могу найти внешний способ его получения.
Например:
public class Outer {
public static void foo(Inner inner) {
//Question: How could I write the following line without
// having to create the getOuter() method?
System.out.println("The outer class is: " + inner.getOuter());
}
public class Inner {
public Outer getOuter() { return Outer.this; }
}
}