2008-09-11 88 views
181

在下面的代碼片斷:關鍵字用於外類從一個匿名內部類

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(),或類似的東西,但似乎無法找到任何東西。

回答

298

一般而言,您使用OuterClassName.this來引用外部類的封閉實例。

在您的例子,這將是a.this.otherMethod()

+0

你可以知道爲什麼`a.otherMethod()`不會工作? – 2017-01-17 09:28:49

40
OuterClassName.this.outerClassMethod();