为何Java不支持多继承?

没想过面试的时候,会遇到语言设计上的问题。现场答得并很差由于一直没思考过,通过了点搜索,渐渐有点思路。面试

 

1. 避免“钻石型”多继承问题:有两个类B和C继承自A。假设B和C都继承了A的方法而且进行了覆盖,编写了本身的实现。假设D经过多重继承继承了B和C,那么D应该继承B和C的重载方法,那么它应该继承哪一个的呢?spa

 

2. 多种继承会使系统设计更加复杂且难以维护。设计

 

3. Java里的接口规定一个类该作什么,而不是怎么样作。而多继承可能会出现一种状况,就是两个类经过不一样的方法作一样的东西,子类没法肯定选择哪一个?继承

 

整体而言,我估计1才是最重要的;2,3略显有点不够说服力。当时记录一下这个问题吧。接口

相关文章
相关标签/搜索