2016/03/04

Java extends 繼承

物件導向的優點之一:重複使用性,利於後續快速維護

要達成『重複使用性』,便是利用『類別繼承』。

方式:class className extends 父類別 { ... }

特點如下:

1、『子類別 (Sub Class、Derived Class)』可以繼承使用『父類別 (Super Class、Base Class)』中屬於『public or protected』的成員。


2、『子類別 (Sub Class、Derived Class)』無法繼承使用『父類別 (Super Class、Base Class)』的私有成員 (private)。


3、只能『單一繼承,無法多重繼承』;但可以利用『實作 Interface』、『巢狀類別 (Inner Class)』的方式,解決單一繼承的問題。


4、子類別若與父類別有『相同名稱的資料成員』,便會被子類別『覆載 (override)』過去。


5、子類別若與父類別有『相同名稱、參數的函數成員』,便會被子類別『覆載 (override)』過去。


6、在子類別的覆載函數中,可用 super.函數名稱(...),執行父類別的函數。


7、『子類別的建構子,一定會執行父類別的建構子』,因為系統會自動在第一行執行 super();若想執行父類別的其他建構子,則在子類別建構子的第一行,輸入 super( ... )


8、所有類別,『若無繼承任何父類別,則系統預設繼承 Object 類別』(不管是系統內定的類別 or 使用者自訂的類別)。