java 中的內部類

 

 

內部類就是定義在另外一個類裏面的類,如下代碼中class  Inner 就是 class HelloWorld 的內部類

//外部類HelloWorld
public class HelloWorld {
    
    // 內部類Inner,類Inner在類HelloWorld的內部
    public class Inner {
        
        // 內部類的方法
        public void show() {
            System.out.println("welcome to imooc!");
        }
    }
    
    public static void main(String[] args) {
        
        // 創建外部類對象
        HelloWorld hello = new HelloWorld();
        // 創建內部類對象
        Inner i = hello.new Inner();
        // 調用內部類對象的方法
        i.show();
    }
}

 

如果 內部類和外部類的變量名或方法名相同,默認使用自己的變量或方法,若要使用外部變量的需使用this 關鍵字:如下:

//外部類HelloWorld
public class HelloWorld{
    
    //外部類的私有屬性name
    private String name = "imooc";
    
    //外部類的成員屬性
    int age = 20;
    
    //成員內部類Inner
    public class Inner {
        String name = "愛慕課";
        //內部類中的方法
        public void show() { 
            System.out.println("外部類中的name:" +                 HelloWorld.this.name );
            System.out.println("內部類中的name:" +                 name );
            System.out.println("外部類中的age:" + age);
        }
    }
    
    //測試成員內部類
    public static void main(String[] args) {
        
        //創建外部類的對象
        HelloWorld o = new HelloWorld (); 
        
        //創建內部類的對象
        Inner inn =   o.new Inner()           ;
        
        //調用內部類對象的show方法
        inn.show();
    }
}

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