2011-10-17 34 views
2

超类可以通过关键字super引用,当前类可以通过this引用,但有没有办法指的是包含嵌套类/匿名类的类?如何引用Java中的匿名类或嵌套类的包含类

+0

可能重复[关键字为匿名内部类的外部类?](http://stackoverflow.com/questions/56974/keyword-for-the-outer-class-from-an-anonymous-inner-类) – aioobe

回答

3

是的。就像这样:

public class OuterClass { 
    class InnerClass { 
     void method() { 
      // Refer to outer class instance 
      doSomething(OuterClass.this); 
     } 

     void doSomething(OuterClass outer) { 
      // ... 
     } 
    } 
} 
3

我认为你正在寻找this answer

基本上,如果你的外部类被称为集装箱使用此语法:

Container.this.methodNameGoesHere(); 

这将确保你将调用外部类的methodNameGoesHere()方法,即使是在您的匿名重复的方法类。