メンバーの内部クラス

1605 ワード

ほとんどの場合、クラスは独立したプログラムユニットとして定義され、場合によっては、あるクラスを別のクラスの内部定義に配置します.この定義が他のクラスの内部にあるクラスを内部クラスと呼びます.内部クラスを含むクラスは外部クラスとも呼ばれます.メンバー内部クラスは、内部クラスの内部で使用されるため、外部クラスのメンバー変数とメンバーメソッドを使用できます.これは、privateでもpublicでも使用できます.内部クラスの役割:1:内部クラスはより良いパッケージを提供し、内部クラスを外部クラスに隠すことができ、同じパッケージの他のクラスがこのクラスにアクセスすることを許可しません.2:内部クラスメンバーは、外部クラスのプライベートデータに直接アクセスできます.内部クラスはその外部クラスメンバーとして扱われ、同じクラスのメンバー間で相互にアクセスできますが、外部クラスは内部クラスの内容にアクセスできません.3:匿名の内部クラスは、一度だけ使用するクラスを作成するのに適しています.
次は内部クラスの例です:class Outer//外部クラス
class Inner {    //   
    
    public void testInner() {
        System.out.println("        ");
    }
    
}

public void testOuter() {
    System.out.println("        ");
}   

}
外部クラスに内部クラスオブジェクトを作成するには、外部クラスのメンバー関数で作成するだけです.
class Outer{//外部クラス
class Inner {    //   
    
    public void testInner() {
        System.out.println("        ");
    }
    
}

public void testOuter() {
    System.out.println("        ");
}   
    //                
   public void createInnnerClass() {
    Inner inner = new Inner();
    inner.testInner();
}

}
Outerクラスの外部にInnerクラスを作成するオブジェクトの形式は以下の通りです:外部クラス名.内部クラス名内部クラスオブジェクト名=new外部クラス名().new内部クラス名();例:Outer.inner inner=new Outer().new Inner();コードは次のとおりです.
class Demo1 {
  public static void main(String[] args) {
              Outer.Inner inner = new Outer().new Inner();
      inner.testInner();
}

}内部クラスと外部クラスに同じ名前のメンバー変数がある場合、ここではデフォルトでは、内部クラスのメンバー変数を使用します.外部クラスのメンバー変数を使用する場合は、フォーマット:外部クラス名.this.同じ名前のメンバー変数;外部クラス名.this.同名メンバーメソッド(パラメータリスト);