首页 > 试题广场 >

什么是单一继承?什么是多重继承? java 支持多重继承吗?

[问答题]
什么是单一继承?什么是多重继承? java 支持多重继承吗?
多继承劣势:容易出现二义性,Java正是为了避免二义性才只设计单继承
C++ 的解决办法是在调用前指定类名,或者使用同名覆盖。而 Python 也是需要指明需要使用的是哪个父类的方法。并且其实,这两种语言在支持多重继承这个角度上也都建议要把这种多个父类中的出现同名方法的情况给尽量避免掉。

多接口实现为何就不会存在二义性问题?
很简单,因为接口中的方法,是抽象的(从JDK1.8之后,接口中允许给出一些默认方法的实现,这里不考虑这个),就算一个类实现了多个接口,且这些接口中存在某个同名方法,但是我们要清楚的知道,这个同名方法最终需要由这个类自己来实现,所以并不会出现二义性的问题。

发表于 2021-04-15 08:39:56 回复(0)
单一继承可以理解为子类只能继承一个父类(只能有一个爸爸),多重继承就可以理解为有多个父亲。j多层继承是指子类继承的父类还有父类(除去首尾,任何一层的类都只有一个父类)。java支持多层继承而不支持多重继承
发表于 2020-04-03 18:31:11 回复(0)
不支持,Java只能单一继承,多实现为接口
发表于 2019-12-17 21:01:37 回复(0)