為什么Java不支持多繼承,允許多繼承


1.多重繼承有副作用:鑽石問題(菱形繼承)。
假設類 B 和類 C 繼承自類 A,且都重寫了類 A 中的同一個方法,而類 D 同時繼承了類 B 和類 C,那么此時類 D 會繼承 B、C 的方法,那對於 B、C 重寫的 A 中的方法,類 D 會繼承哪一個呢?這里就會產生歧義。

2.考慮到這種二義性問題,Java 不支持多重繼承。但是 Java 支持多接口實現,因為接口中的方法,是抽象的(從JDK1.8之后,接口中允許給出一些默認方法的實現,這里不考慮這個),就算一個類實現了多個接口,且這些接口中存在某個同名方法,但是我們在實現接口的時候,這個同名方法需要由我們這個實現類自己來實現,所以並不會出現二義性的問題。


免責聲明!

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



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