ホームページ >Java >&#&チュートリアル >Java の内部クラスから外部クラスのインスタンスにアクセスするにはどうすればよいですか?
内部クラスから外部クラスのインスタンスを取得する
次のコードを考えてみましょう。ここでの目的は、内部クラスから外部クラスのオブジェクトにアクセスすることです。内部クラスのインスタンス:
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 中国語 Web サイトの他の関連記事を参照してください。