java三大特性:
- 繼承
- 封裝
多態
類是對對象的抽象,繼承是對某一批類的抽象,從而實現對現實世界更好的建模。
有利於提高代碼的複用,關鍵詞是extends,只支持單繼承。
簡單說:我繼承了你,你的就是我的,我的還是我的如果定義了一個類,沒有調用extends,則它的父類是java.lang.Object
在子類中可以根據需要對基類中繼承來的方法進行重寫。
- 重寫必須和被重寫方法具有相同方法名稱、參數列表和返回類型。
重寫方法不能使用比被重寫方法更嚴格的訪問權限。
重寫:toString方法
- 默認返回:包名+類名+@+哈希碼(根據對象內存位置生成,唯一不重複)
- 可以重寫
public String toString(){
return getClass().getName()+"@"+Integer.toHexString(hashCode());
//原Object類的toString方法
public String toString(){
return "你好!";
} //重寫後的toString方法
super是直接父類對象的引用,可以通過super來訪問父類中被子類覆蓋的方法或屬性。
注意點:
- super在構造方法中永遠處於第一行;
- 如果實現了對父類構造方法的重寫,那麼,在對子類對象的生成時,構造方法的調用順序應是先父類再子類;
順便提一下繼承與組合的關係:
- “is-a”關係使用繼承
- “has-a”關係使用組合