1. 程式人生 > >Java學習筆記 抽象類 介面 多型

Java學習筆記 抽象類 介面 多型

instanceof

物件名 instanceof 類名

該物件是否屬於該類

    Animal animal = new Dog();
    if(animal instanceof Dog){
        Dog d = (Dog)animal;
    }

多型

    Animal animal = new Dog();
    animal.sleep();//先呼叫子方法,如果子方法未重寫(複寫),則執行父類中的該方法

抽象類

子類繼承父類,父類是個抽象類,子類必須實現父類中的抽象方法,如果不想實現,可以將子類定義為抽象類,讓下一個繼承子類的類來實現

介面

接口裡面只能存放常量和抽象方法

定義的變數會預設新增public static final這些關鍵字

方法也是會自動新增abstract

例如:
int numer = 10; 其實相當於 public static final int numer = 10;

publlic void hello(); 相當於 public abstract void hello();

介面可以實現多繼承

介面也可以實現多型

    Eat eat = new Dog();
    eat.print(Eat eat);//狗實現了吃的介面,實現了吃接口裡面的print方法,之後呼叫eat.print(),執行的是狗實現的print方法

    void print(Eat eat){
        eat.print();
    }