【Java余元面向对象】(23)抽象方法/抽象类
目錄
1. 引入
2. 定義
3. 使用規則
4. 抽象方法和抽象類的說法
5. 兩個應用
1. 引入
狗怎么叫:“旺旺”----shout
貓怎么叫:“喵喵”---shout
老鼠怎么叫:“吱吱”---shout
shout方法向上提取到父類中
子類直接繼承了shout方法
問:寵物怎么叫?----太抽象 ---父類的shout方法沒有辦法實現
----不實現
{}也多余
2. 定義
抽象方法:當父類中某個方法沒有辦法實現,且具體的子類可以實現,父類的方法就可以聲明成抽象方法,使用abstract修飾。
3. 使用規則
當一個類中有抽象方法時,則此類必須是抽象類
將父類中的抽象方法交由子類來重寫實現。
或者
4. 抽象方法和抽象類的說法
(1)一個類中如果有抽象方法,則此類一定是抽象類
(2)一個類如果是抽象類,則此類不一定有抽象方法
只有一個目的:限制實例化,迫使你使用子類。?????????????????????????????????????????????????????????
5. 兩個應用
問:為什么pet的輸出是包名+@+內存地址結構
查看源代碼? ?ctrl + 單擊 println方法
Object類的源碼
會看到jdk底層有很多方法會使用native修飾,但沒有方法體,這樣的方法稱為本地方法。
Object類中所有方法都能被繼承。
結論:打印一個對象實際上最終是調用對象的toString方法
開發時,更多的希望輸出一個對象的數據,而不是內存地址。
由于toString方法是Object中的方法,父類方法不能滿足子類的需求,因此子類需要重寫父類的toString方法。
子類
總結
以上是生活随笔為你收集整理的【Java余元面向对象】(23)抽象方法/抽象类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: f2fs学习笔记 - 5. f2fs基本
- 下一篇: JavaSE:抽象类和接口