從內部類別檢索外部類別實例
考慮以下程式碼,其中的目標是從內部類別訪問外部類別物件內部類別實例:
public class OuterClass { public class InnerClass { private String name = "Peakit"; } public static void main(String[] args) { OuterClass outer = new OuterClass(); InnerClass inner = outer.new InnerClass(); // Retrieve the outer class instance... OuterClass anotherOuter = ?? ; } }
存取外部類別實例在內部類別中
在內部類別中,您可以使用OuterClass.this 表達式來引用封閉實例。這種技術稱為“Qualified This”,可讓您從內部類別內部存取外部類別的成員。
public OuterClass getOuter() { return OuterClass.this; }
在不修改內部類別的情況下存取外部類別實例
如果您沒有能力修改內部類別,則可以透過封閉類別的封包層級存取來存取外部類別實例實例字段,用this$0 表示。
OuterClass outerRef = inner.this;
附加說明
以上是Java中如何從內部類別存取外部類別實例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!