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

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

Linda Hamilton
Linda Hamilton原創
2024-11-10 21:26:02169瀏覽

How can I access outer class methods from an anonymous inner class in Java?

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

在 Java 中,可以在外部類別中定義匿名內部類別。這些內部類別可以存取外部類別的成員,包括方法和欄位。

存取外部類別方法

在匿名內部中存取外部類別的方法類,使用 OuterClassName.this 語法。這允許您引用外部類別的封閉實例。

範例

考慮以下程式碼片段:

public class OuterClass {
    public void otherMethod() {}  // Method in outer class

    public void doStuff(String str, InnerClass innerClass) {}

    public void method() {
        doStuff("asd", new InnerClass() {
            public void innerMethod() {
                OuterClass.this.otherMethod();  // Calls the outer class method
            }
        });
    }
}

在此例如,method() 方法中定義的匿名內部類別InnerClass 可以存取封閉OuterClass 的otherMethod() 方法。這是使用 OuterClass.this 語法完成的。

注意: OuterClassName.this 語法也可用於存取匿名內部類別中外部類別的欄位。

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

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