首頁  >  文章  >  Java  >  如何從匿名內部類別存取外部類別的方法?

如何從匿名內部類別存取外部類別的方法?

Patricia Arquette
Patricia Arquette原創
2024-11-11 01:45:02416瀏覽

How to Access Methods of the Outer Class from an Anonymous Inner Class?

從匿名內部類別存取外部類別

在匿名內部類別中,可以使用以下方式存取外部類別的成員

考慮以下程式碼片段:

public class Outer {
    public void otherMethod() {}
    public void doStuff(String str, InnerClass b) {}
    public void method(Outer a) {
        doStuff("asd", new InnerClass() {
            public void innerMethod() {
                // How to access outer.otherMethod() here?
            }
        });
    }
}

為了從匿名內部類別存取外部類別的outerMethod()方法,Java提供了OuterClassName.this語法。在這種情況下,您將使用:

Outer.this.otherMethod();

這允許匿名內部類別存取外部類別的成員,就像它們是在內部類別本身中定義的一樣。因此,innerMethod() 中的程式碼現在可以使用下列語法存取outerMethod():

Other.this.otherMethod();

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

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