首页  >  文章  >  Java  >  如何在匿名内部类中访问外部类的方法?

如何在匿名内部类中访问外部类的方法?

Susan Sarandon
Susan Sarandon原创
2024-11-11 16:43:02227浏览

How can you access methods from the outer class within an 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();
                }
            }
        );
    }
}

问题出现:我们可以直接从匿名内部访问外部类方法吗? class?

解决方案:使用 OuterClassName.this

要从匿名内部类中引用外部类,请使用语法 OuterClassName.this。在这个例子中,要调用外部类a的otherMethod()方法,您将使用a.this.otherMethod()。

因此,innerMethod()方法的完整版本将是:

public void innerMethod(){
    a.this.otherMethod();
}

以上是如何在匿名内部类中访问外部类的方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn