1.繼承的概念理解
繼承是面向對象三大特徵之一。
可以使得子類具有父類的屬性和方法,還可以在子類中重新定義,以及追加屬性和方法
2、通過extends關鍵字實現繼承
格式: class 子類 extends 父類 { }
3、繼承帶來的好處
繼承可以讓類與類之間產生關係,子父類關係
產生子父類後,子類則可以使用父類中非私有的成員。
4、繼承帶來的弊端
削弱了子類的獨立性,類的耦合性增強 軟件設計中模塊劃分應遵循的準則是:高內聚低耦合。
5、變量的訪問特點
在子類方法中訪問一個變量
- 首先子類局部範圍找
- 子類成員範圍找
- 父類成員範圍找(不能再父類的父類中尋找)
6、this和super的區分
this關鍵字是調用本類中的對象,
super關鍵字是調用父類中的對象
eg:當父類和子類中都有 int age變量,其中子類中age=20,父類中age=40;
在子類中:this.age=20;super.age=40;
7.繼承中的重寫(方法的重新定義,在第一點中提及)
父類:
子類
測試類
可以理解爲在子類調用父類的方法的時候,發現父類中的方法不適合子類中使用的實際情況,由此子類在使用的時候對父類中的方法進行重新的書寫。
很多情況之下在子類重新書寫父類的方法中,可能會不注意對父類的名字或者方法的修飾符有所改變
@Override 可以在重寫方法前加入此註解,來判斷方法重寫是否正確
在重寫中需要注意2點
- 父類中的私有方法(private)子類不可繼承和重寫
- 子類的訪問權限不能低於父類(公共public>默認default>私有private)