来自匿名内部类的外部类的关键字

shs*_*mer 198 java anonymous-inner-class

在以下代码段中:

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();
                }
            }
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有一个关键字来引用内部类的外部类?基本上我想要做的是outer.otherMethod(),或类似的东西,但似乎找不到任何东西.

Bil*_*ard 334

通常,您OuterClassName.this用来引用外部类的封闭实例.

在你的例子中 a.this.otherMethod()

  • @ T.Todua`OuterClassName.otherMethod()`会引用一个静态方法,所以你需要`OuterClassName.this`来获取外部类的实例. (3认同)

jjn*_*guy 44

OuterClassName.this.outerClassMethod();
Run Code Online (Sandbox Code Playgroud)