从匿名内部类访问外部类
在提供的代码片段中:
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(); } } ); } }
问题出现:我们可以直接从匿名内部访问外部类方法吗? class?
解决方案:使用 OuterClassName.this
要从匿名内部类中引用外部类,请使用语法 OuterClassName.this。在这个例子中,要调用外部类a的otherMethod()方法,您将使用a.this.otherMethod()。
因此,innerMethod()方法的完整版本将是:
public void innerMethod(){ a.this.otherMethod(); }
以上是如何在匿名内部类中访问外部类的方法?的详细内容。更多信息请关注PHP中文网其他相关文章!