java成員內部類


//外部類InnerClass1
public class InnerClass1{
  
  //外部類的私有屬性name
  private String name = "Inner";
  
  //外部類的成員屬性
  int age = 20;
  
//成員內部類Inner
    //Inner 類可以使用任意訪問控制符,如 public 、 protected 、 private 等
    //Inner 類中定義的 show() 方法可以直接訪問 InnerClass1 類中的數據,而不受訪問控制符的影響,如直接訪問 Outer 類中的私有屬性
//定義了成員內部類後,必須使用外部類對象來創建內部類對象,而不能直接去 new 一個內部類對象,即:內部類 對象名 = 外部類對象.new 內部類( );
  public class Inner {
String name = "內部類變量";
      //內部類中的方法
public void show() { 
// 如果外部類和內部類具有相同的成員變量或方法,內部類默認訪問自己的成員變量或方法,如果要訪問外部類的成員變量,可以使用 this 關鍵字。
System.out.println("外部類中的name:" +   InnerClass1.this.name               );
System.out.println("內部類中的name:" +   name                );
System.out.println("外部類中的age:" + age);
}
}
  
//測試成員內部類
public static void main(String[] args) {
      
      //創建外部類的對象
InnerClass1 o = new InnerClass1 (); 
      
      //創建內部類的對象
Inner inn = o.new Inner();
      
      //調用內部類對象的show方法
inn.show();
}
}

運行結果:

外部類中的name:Inner
內部類中的name:內部類變量
外部類中的age:20

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章