首頁  >  文章  >  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();
                }
            }
        );
    }
}

問題出現:我們可以直接從匿名內部類別存取外部類別方法嗎?

解決方案:使用 OuterClassName.this

從匿名內部引用外部類內部類,使用語法 OuterClassName.this。在這個範例中,要呼叫外部類別a的otherMethod()方法,您將使用a.this.otherMethod()。

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

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

以上是如何在匿名內部類別中存取外部類別的方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn