JAVA學習——基礎部分——面向物件——繼承
阿新 • • 發佈:2018-11-27
一、概念(自我理解)
將一堆子類進行總結,將都有的相同點抽象成父類,由父類形成大體,然後子類豐富父類。
繼承類不可以多繼承,JAVA是單繼承類。
父類還可以往上加分別是:子類——父類——父類的父類——·········——最高時抽象類
可以用這句話判斷:“A is a B”若是這個成立那麼就可以形成繼承關係。
父類也叫超類,基類。子類也叫派生類。
子類物件建立的時候先呼叫父類的構造器,預設是無參構造器。這樣就需要一個關鍵字:super。
這個放在方法的第一句,用來繼承父類的構造方法。This Super不能共同出現在同一個地點。
二、子類建立的過程(實行順序)
父類靜態程式碼塊
子類靜態程式碼快
父類例項構造器
父類構造器
子類例項構造器
子類構造器
三、注意事項
子類繼承父類,但是隻是繼承屬性和方法。構造方法不會被繼承,但是可以呼叫。
私有成員也不會被繼承
四、繼承的優缺點
優點:
- 節省了程式碼
- 增加了可修改性和可擴充套件性
缺點:
耦合性高
五、關於方法——方法的重寫
大前提:這個是繼承關係的子類。
重寫就為了拓展方法的功能,增強父類。
重寫的規則:子類方法簽名和父類方法簽名相同。(方法簽名:訪問修飾符 返回值 方法名()方法體改寫)
- 方法名相同
- 引數列表相同
- 返回值是父類返回值的子類
- 訪問許可權不能嚴於父類
六、抽象類
概念(自我總結非書面):所有類裡共同的特點,抽象程度高,若是建立成物件也沒有什麼用,所以這樣需要這一個關鍵字:abstract,在class前加入。一旦有了這個關鍵字就不能例項化
用法:只定義,不實現。但是抽象類裡可以有實現類,如果全是抽象方法那麼就必須在子類裡面實現。
有抽象方法的類一定是抽象類,抽象類裡不一定有抽象方法。