p6-15~p6-16
標示為abstract的類別:表示這個類別定義不完整,定義不完整的類別就不能用來產生實例。
Java中規定內含抽象方法的類別,一定要在class前標示abstract。
繼承抽象類別的方法:子類別如果繼承抽象類別,對於抽象方法有兩種作法
1. 繼續標示該方法為abstract (另該子類別也是抽象類別,必須在class前標示abstract)
2. 實作抽象方法:對於abstract class內標示為abstract的method,必須在此子類別用@override將abstract覆寫
p6-16~p6-19
被標為private的成員,除了定義此成員的class能夠存取外,其他class皆無權限存取
因此改定義一個protected成員:若是不希望被client(客戶端)任意存取,但又希望子類別能夠直接存取,就可以在父類別將不希望被client任意存取的成員定義為protected
如此一來,只有繼承父類別的子類別才有權限去存取protected成員
p6-20
當子類別繼承了父類別的method,重新定義method時,子類別定義的method權限不能小於父類別
權限由大到小: public > protected > 無特別標注 > private
Ex. 父類別宣告了 public String go() {} 類別 , 子類別重新定義go()時,權限也只能是public
父類別宣告了 String go() {} 類別 , 子類別重新定義go()時,權限可以是無特別標注、protected、public三者其中之一