ホームページ > Java > &#&チュートリアル > Java 内部クラス内から外部クラス オブジェクトにアクセスするにはどうすればよいですか?

Java 内部クラス内から外部クラス オブジェクトにアクセスするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-30 14:57:10
オリジナル
320 人が閲覧しました

How Can I Access the Outer Class Object from Within a Java Inner Class?

内部クラスから外部クラス オブジェクトへのアクセス

Java では、プライベート変数にアクセスできる内部クラスを作成できます。およびそれらを囲む外部クラスのメソッド。ただし、内部クラス自体から外部クラス オブジェクトにアクセスするのは少し難しい場合があります。

これを実現するために、内部クラスは、OuterClass.this 構文を利用できます。この式は、内部クラス オブジェクトを作成した外部クラスの特定のインスタンスを参照します。これにより、内部クラスが外部クラスのメンバーにアクセスし、外部クラスのメソッドを呼び出すことができます。

// InnerClass.java
public class InnerClass {
private String name = "Peakit";
publicアウタークラスのアウター() {

return OuterClass.this;
ログイン後にコピー

}
}

提供されたコード スニペットでは、内部クラス InnerClass に、OuterClass のインスタンスを返すメソッド external() があります。このメソッドを使用すると、内部クラス内から外部クラス オブジェクトを取得できます:

//OuterClass.java
public class innerClass {
public static void main(String[] args) {

OuterClass outer = new OuterClass();
InnerClass inner = outer.new InnerClass();
OuterClass anotherOuter = inner.outer();
if (anotherOuter == outer) {
  System.out.println("Was able to reach out to the outer object via inner !!");
} else {
  System.out.println("No luck :-( ");
}
ログイン後にコピー

}
}

この例では、outer() メソッドは外部クラスを返します。インスタンスは、anotherOuter 変数に割り当てられます。 anotherOuter と external が同じオブジェクトを参照している場合、外部クラスのオブジェクトが内部クラス内から正常に取得されたことを示します。

OuterClass.this 構文は内部クラス自体内でのみアクセスできることに注意してください。 。内部クラスを制御してそのコードを変更できない場合、内部クラス オブジェクトから外部クラス オブジェクトを直接取得する他に方法はありません。

以上がJava 内部クラス内から外部クラス オブジェクトにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート