1、java 与 C++ 的不同点在于多继承。
Java:不能多继承,只能单继承,但可以实现多个接口
C++:可以实现多继承。
例如: class A extends B implements C,D,E {}
2、如若写成 interface A extends B,C,D 可以编译通过,这样是不是违背了 JAVA 的单继承特性呢?
(1)接口可以继承多个接口是因为接口里面的定义的方法都是未实现的,不会增加复杂性。
(2)接口不是类,而是对类的一组需求的描述。接口绝不能含有实例域,也不能在接口中实现方法。接口可以实现多继承不会增加代码的复杂性。
(3)多继承是发生在执行期间的,而不是在编译期间,所以可以编译通过,并且不违背 Java 是单继承的。
3、为什么接口可以继承多个接口?
因为接口定义的都是抽象的方法,而且不能在接口中实现方法。所以,接口继承多个接口,并不会使接口的结构变得很复杂。相反,这样做,还能给一个团队在开发的过程中,提供很多便利。
单继承指的是 class,而不是 interface. interface 是可以多继承的。
接口可以多继承可以被多实现,因为接口中的方法都是抽象的,这些方法都被实现的类所实现,即使多个父接口中有同名的方法,在调用这些方法时调用的时子类的中被实现的方法,不存在