相关疑难解决方法(0)

145
推荐指数
9
解决办法
10万
查看次数

Java 8没有提供相同的解决方案来允许他们为解决接口默认方法而提供的多重继承

问题:

我们知道Java不允许扩展多个类,因为它会导致Diamond问题,编译器无法决定使用哪个超类方法.使用接口默认方法,Diamond问题Java 8中引入.也就是说,因为如果一个类实现两个接口,每个接口定义相同的默认方法,并且实现类不会覆盖常见的默认方法,则编译器无法决定选择哪个实现.

解:

Java 8需要提供由多个接口实现的默认方法的实现.因此,如果一个类实现上面提到的两个接口,它将不得不为常见的默认方法提供一个实现.否则编译器会抛出编译时错误.

题:

通过重写子类引入的常用方法,为什么此解决方案不适用于多类继承?

multiple-inheritance java-8 default-method

3
推荐指数
1
解决办法
368
查看次数