Untitled

  1. 减少代码的复杂程度
  1. 多继承容易引发歧义,例如 A 类有 a 方法,B 类也有 a 方法,且两个类 a 方法的方法签名一致,但是返回值和抛出的异常各不相同,这个时候我们如何选择继承?
  2. 单根继承使垃圾回收器(内置于 Java 中)的实现变得容易得多。其必需的支持功能可置于基类中,这样,垃圾回收器就可以发送恰当的消息给系统中的每一个对象。如果没有单根继承结构以及通过引用来操作对象的系统特性,要实现垃圾回收器非常困难。

Java 中支持单继承。不直接支持多继承,但对 C++ 中的多继承机制进行改良。

单继承:一个子类只能有一个直接父类。

多继承:一个子类可以有多个直接父类(Java 中不允许,进行改良)

不直接支持,因为多个父类中有相同成员,会产生调用不确定性。

在 Java 中是通过“多实现”的方式来体现

  1. 容易引起歧义,例如 A 类有 a 方法,B 类也有 a 方法,且两个类a方法的方法签名一致,但是返回值和抛出的异常各不相同,这个时候我们如何选择继承?
  2. 减少代码的复杂程度

参考

https://caotc.org/2018/01/02/java-java8-extend-design-thinking/

https://www.jianshu.com/p/85238f604e4b

面向对象继承 Java中的单继承和多重继承

单继承结构