java抽象類的繼承和實現——子類實現沒有在抽象類里定義的方法


父類和子類的問題困擾了我許久。
相信各位沒有學過java課程的孩子也有相同的感受。


下面給你們介紹一下幾個原則:

1:父類引用子類原則父類引用子類原則

2.子類引用子類原則。
2.子類引用子類原則。

假如父類是一個抽象類的情況呢?

考慮下面的抽象類edge。
edge
其中edge沒有實現也沒有定義ForwordConnetc();方法
假如我們的類有ForwordConnection繼承Edge呢?
這里寫圖片描述
這里寫圖片描述

我們設置一個方法:
這里寫圖片描述

這個方法上面說到過:
其中edge沒有實現也沒有定義ForwordConnetc();方法
來看看調用情況:
這里寫圖片描述
靜態檢查報錯。
在java中,進行父類重寫的靜態檢查,然后它發現父類沒有這個方法,於是報錯。
注意:重載是動態檢查。運行的時候才去找。

說明:
用父類聲明的時候,抽象類也不能越過父類調用子類方法
我們修改一下:
這里寫圖片描述

這樣就好了。
所以我們總結一下,無論在抽象類還是一般類中,
上面的原則都成立。

另外,抽象類有下面的幾個特殊的地方~~
這里寫圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM