Java類爲什麼不支持多繼承,而是使用接口多實現呢?

Java類不支持多繼承是爲了程序安全考慮的,我們知道子類能繼承父類的所有屬性和方法。

類多繼承情況下: 兩個父類存在同名方法或變量,那麼子類該調用誰就變得模糊不清了。

接口多實現情況下: 兩個接口存在同名方法,因爲都是需要實現類去實現的,所以無關大雅;而接口的變量默認是static final類型的,也就是常量,根據JVM的底層機制,常量在編譯期就確定了值,倘若兩個同名常量不同值,編譯期就直接編譯不通過了。

綜上,Java拋棄了多繼承類的機制,轉而使用單繼承、多實現的機制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章