您的位置 首页 java

Java为什么不支持类多继承

一、前言

我们都知道,Java里边有一个特殊的特性的,就是支持类(注意是类,接口是可以多继承的)都单继承,那究竟是为什么,多继承不行吗?

有什么原因,下面通过一个反例,来论证下。

二、反证法

如下图,B、C都相同都方法 doSomething,并皆为D类所继承。

这时,D所继承的方法中,就出现二义性问题了,即调用父类的方法 doSomething,不知道具体执行那个父类的方法。

三、其他

Java中,通过接口都多继承,弥补这一缺陷,因为接口本身就是一种规范,不带具体实现,故不存在类这样冲突的问题。

而多继承,在C++中有详尽多用法,也带来很多坑点,Java可以说参考C++,摒弃缺点(多继承…),解决痛点(垃圾自动回收…),单继承也不一定是缺陷,它也使得类的关系不那么复杂,等等。

这些思想很重要,在面试中也经常提及。

文章来源:智云一二三科技

文章标题:Java为什么不支持类多继承

文章地址:https://www.zhihuclub.com/184585.shtml

关于作者: 智云科技

热门文章

发表回复

您的电子邮箱地址不会被公开。

网站地图