201711671121Java程式設計第5章學習總結
第5章 子類與繼承
5.1子類與父類
·利用繼承,可以先定義一個共有屬性的類,根據該一般類再定義具有特殊屬性的子類。
·子類只能有一個父類。
5.1.1子類
·在類的宣告中,通過使用關鍵字extends來定義一個類的子類,格式如下:
class 子類名 extends 父類名{
…
}
例如(把Student類定義為People類的子類,People類是Student類的父類):
Class Student extends People{
…
}
5.1.2類的樹形結構
·Object是所有類的祖先類。
·每個類(除了Object類)有且僅有一個父類。
5.2子類的繼承性
·類可以有兩種重要的成員:成員變數和方法。
5.2.1子類和父類在同一包中的繼承性
(public protected)不同包
(public protected 友好)同一個包
5.3子類與物件
5.3.1子類物件的特點
·子類中有一部分方法是從父類繼承的,這部分方法可以操作這部分未繼承的變數。
5.3.2關於instanceof運算子
物件instanceof 類
當左面的操作元是右面的類或其子類所建立的物件時,instanceof運算的結果是ture,否則是false。
5.4成員變數的隱藏和方法重寫
5.4.2方法重寫
①重寫的語法規則:如果子類可以繼承父類的某個方法,那麼子類就有權利重寫這個方法。所謂方法重寫,是指子類中定義一個方法,這個方法的型別和父類的方法的型別一致或者是父類的方法的型別的子型別,並且這個方法的名字、引數個數。引數的型別和父類的方法完全相同。
②重寫的目的:子類通過方法的重寫可以隱藏繼承的方法,子類通過方法的重寫可以把父類的狀態和行為改變為自身的狀態和行為。
·如果子類想使用被隱藏的方法或成員變數,必須使用關鍵字super。
5.6 final關鍵字
5.6.1final類
可以使用final將類宣告為final類。final類不能被繼承,即不能有子類。
5.6.3常量
如果成員變數或區域性變數被修飾為final,那它就是常量。
5.7物件的上轉型物件
把建立好的子類物件賦給已經存在的父類物件。
5.8繼承與多型
·上轉型是多型的表現方式,通過父類和子類的重寫來實現。
5.9 abstract類和abstract方法
·用關鍵字abstract修飾的方法稱為abstract方法(抽象方法)。
·abstract類中可以有abstract方法,也可以沒有abstract方法。
5.10面向抽象程式設計
在設計程式時,經常會使用abstract類,其原因是,abstract類只關心操作,而不關心這些操作具體的實現細節,可以使程式的設計者把主要精力放在程式的設計上,而不必拘泥於細節的實現。