1.什么是繼承
把多個類中相同的成員給提取出來定義到一個獨立的類中.然后讓這多個類和該獨立的類產生一個關系.
2.Java中如何表示繼承以及繼承的格式:
A:用關鍵字extends表示
B:格式:
? ? ? ? ? ? ?class 子類名 extends 父類名 {}
3.繼承的好處:
A:提高代碼的復用性;
B:提高代碼的維護性;
C:讓類與類產生關系,是多態(tài)的前提.
4.繼承的弊端:
A:讓類的耦合性增強.這樣某各類改變了,就會影響其他和該類相關的類.
? ? ? ? ? ? ? ? ? ?開發(fā)的原則:低耦合,高內聚.
B:打破了封裝性.
5.java中繼承的特點:
A:Java中類只支持單繼承.
B:Java中可多層繼承.
6.繼承的注意事項:
A:子類不能直接訪問父類的私有成員.
B:子類不能繼承父類的構造方法,但是可以通過super去訪問.
C:不要為了部分功能而去繼承
7.什么時候用繼承呢?
可以采用假設法:如果有兩個類A,B碎节。只有他們符合A是B的一種贾富,或者B是A的一種,就可以考慮使用繼承逻炊。
8.Java繼承中的成員關系:
A:成員變量
a:子類的成員變量名稱和父類中的成員變量名稱不一樣丝蹭,那就是只有子類可以調用這個成員變量.
b:子類的成員變量名稱和父類中的成員變量名稱一樣:
? ? 子類的方法訪問變量的查找順序:
? ? b1.在子類方法的局部范圍找慢宗,有就使用。
? ? b2.在子類的成員范圍找奔穿,有就使用镜沽。
? ? b3.在父類的成員范圍找,有就使用贱田。
? ? b4.找不到缅茉,就報錯。
B:構造方法
a:子類的構造方法默認會去訪問父類的無參構造方法
? ? ? 是為了子類訪問父類數據的初始化
b:父類中如果沒有無參構造方法男摧,怎么辦?
? ? ? 子類通過super去明確調用帶參構造
? ? ? 子類通過this調用本身的其他構造蔬墩,但是一定會有一個去訪問了父類的構造
? ? ? 讓父類提供無參構造
C:成員方法
a:子類的成員方法和父類中的成員方法名稱不一樣,直接調用.
b:子類的成員方法和父類中的成員方法名稱一樣,這個怎么訪問呢?
? ? 通過子類對象訪問一個方法的查找順序:
? ? b1.在子類中找耗拓,有就使用
? ? b2.在父類中找拇颅,有就使用
? ? b3.找不到,就報錯