1. 程式人生 > >2017.06.21

2017.06.21

final pub 都是 static 多重 返回值 rac 特殊 有變

抽象的概念:

  用abstract修飾的類就是抽象類。如果某個類中包含有抽象方法,那麽該類就必須定義成抽象類。

  抽象類可以有成員屬性和非抽象的成員方法。

  抽象類不能被實例化,但可以有構造函數。

  抽象類只能用作基類,表示的是一種繼承關系。繼承抽象類的非抽象類必須實現其中的所有抽象方法,而已實現方法的參數、返回值要和抽象類中的方法一樣。否則,該類也必須聲明為抽象類。

註意事項:

  抽象類可以有構造方法,但不能直接實例化,只能用來繼承;

   抽象類的派生子類應該提供對其所有抽象方法的具體實現;如果抽象類的派生子類沒有實現其中的所有抽象方法,那麽該派生子類仍然是抽象類,只能用於繼承,而不能實例化;

   抽象類中也可以包含有非抽象的方法,子類中重寫非抽象方法時返回值和參數必須與父類一致;

   構造方法和靜態方法不可以修飾為abstract

多態參數:方法的形式參數類型是父類類型,而傳遞的實際參數可以是任意子類的對象(提高代碼的擴展性)

多態環境下:1.對成員方法的調用(編譯看左邊,運行看右邊);2.對靜態方法的調用(編譯,運行都看左邊)3.對成員變量的調用(編譯,運行都看左邊)

多態環境下對子類,父類的方法調用:1.向上造型(只能調用父類中的方法)2.子類,父類方法都可以調用

接口的定義:接口就是特殊的抽象類,即所有方法都是抽象方法的抽象類就是Java中的接口;

   特點:接口是一種特殊的抽象類

      接口中沒有變量,只能有public static final修飾的靜態常量。三個修飾符可以省略。

       接口中所有方法都是抽象方法,且默認就是public權限。

Java接口繼承接口的原則: Java接口可以繼承多個接口

             接口繼承接口依然使用關鍵字extends,不要錯用成implements

            Java類的繼承是單一繼承,Java接口的繼承是多重繼承。

抽象類與接口的區別:

技術分享

2017.06.21