Ключевое слово для внешнего класса из анонимного внутреннего класса

В следующем фрагменте:

public class a {
    public void otherMethod(){}
    public void doStuff(String str, InnerClass b){}
    public void method(a){
        doStuff("asd",
            new InnerClass(){
                public void innerMethod(){
                    otherMethod();
                }
            }
        );
    }
}

Есть ли ключевое слово для ссылки на внешний класс из внутреннего класса? В основном то, что я хочу сделать, это outer.otherMethod() или что-то подобное, но, похоже, ничего не может найти.

Ответы

Ответ 1

В общем случае вы используете OuterClassName.this для ссылки на прилагаемый экземпляр внешнего класса.

В вашем примере это будет a.this.otherMethod()

Ответ 2

OuterClassName.this.outerClassMethod();