天天看點

内部類

内部類

在類的内部在定義一個類

  1. 成員内部類
  2. 靜态内部類
  3. 局部内部類
  4. 匿名内部類

建立内部類的對象:

public static void main(String[] args) {
        //先建立外部類對象
        outer outer = new outer();
        //通過外部類對象new内部類對象
        outer.Inner inner = outer.new Inner();
        inner.in();
    }

public class outer {
    private int id=999;
    public void out(){
        System.out.println("這是外部類的方法");
    }
    //重點:内部類可以調用外部類的屬性和方法,但這和繼承不一樣哦,繼承是直接将屬性方法給了子類,而這裡需要調用得到
    public class Inner{
        public void in(){
            System.out.println("這是内部類的方法");
            System.out.println(id);//輸出外部類的屬性
            out();//直接調用外部類的方法
        }
    }
}      
  • 一個Java檔案隻能有一個public class,但可以有多個class檔案

這個A類也叫内部類:

public class outer {
}
class A{
    
}      
public class outer {
    public void A(){
        class B{
        }
    }
}      
public class outer {
    public static void main(String[] args) {
        //沒有名字,沒有将執行個體儲存到變量中
        new Apple().eat();
        //用匿名内部類實作了接口
        new UserService(){
            @Override
            public void a() {

            }
        };
    }
}
class Apple{
    public void eat(){
        System.out.println("吃");
    }
}
interface UserService{
    void a();
}      
上一篇: 内部類
下一篇: 内部類

繼續閱讀