第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類只關心操作,而不關心這些操作具體的實現細節,可以使程式的設計者把主要精力放在程式的設計上,而不必拘泥於細節的實現。
學習筆記 C primer Plus 第5章
1.typedef機制 使用typedef為現有型別建立別名,例如,typedef double real real dead 這兩行的含義表示把real建立為double型別的變數。2.遞增運算 i 和 i 前者 字尾表示使用i的值之後,遞增i。後者 字首表示先遞增i,然後使用i的值。3.沒乙個表...
第5章標準I O庫總結
1 fwide函式試圖設定流的定向 流的定向決定了讀寫單位元組還是多位元組字元 int fwide file fp,int mode 寬定向返回正值,位元組定向返回負值,為定向返回0已定向流不會改變流的定向 2 setbuf函式中指定的緩衝區的長度為bufsiz,這個常量在stdio.h中定義 3 ...
Java核心技術筆記 第5章
size large 1 動態繫結 size size medium 靜態繫結 private方法 static方法 final方法或者構造器 子類陣列的引用可以轉換成超類陣列的引用 在覆蓋方法時一定要保證返回型別的相容性,子類方法不能低於超類方法的可見性 在equals方法中,如果子類決定相等的概...