根本是java创作者的决策使然,使得它不像c++一样支持多继承
可以提供以下两个参考
1,钻石歧义
假设A有一个方法get,B、C都继承于A,那么D就自然的有两个get,会产生歧义(编译器不知道继承哪个)
2,多继承确实在问题复杂的情况下产生问题
假设你需要使用的多继承情况并不多,那么最明智的选择就是放弃它,
不够java提供了一个补充方案-------可以实现多个接口。它只提供方法声明,没有实现。
如果b、c接口有一个共同的抽象方法,也没有关系,只需要写一次就够了。
java不支持多继承的原因及背后的考量
最新推荐文章于 2022-05-07 00:15:25 发布