Java继承:严格的默认抽象和默认冲突规则

Java继承:严格的默认抽象和默认冲突规则,java,inheritance,java-8,jls,Java,Inheritance,Java 8,Jls,有人能解释一下本书中提到的“严格的默认摘要和默认冲突规则”吗 它们是否在JLS中定义?我似乎找不到他们的定义。我可能错了,但我就是这样解释这一部分的 “默认”和“默认摘要”不是关键字。它们描述了与接口中的默认方法相关的两种不同的编译冲突规则 “default default”用于修饰实现两个或多个接口的类,这些接口提供重写等效方法的默认实现,而不提供自己的实现 “默认抽象”用于修饰实现一个接口(提供默认实现)和一个或多个接口(不提供重写等效方法的默认实现)的类 这两个规则的例外是,如果所讨论的类

有人能解释一下本书中提到的“严格的默认摘要和默认冲突规则”吗


它们是否在JLS中定义?我似乎找不到他们的定义。

我可能错了,但我就是这样解释这一部分的

“默认”和“默认摘要”不是关键字。它们描述了与接口中的默认方法相关的两种不同的编译冲突规则

“default default”用于修饰实现两个或多个接口的类,这些接口提供重写等效方法的默认实现,而不提供自己的实现

“默认抽象”用于修饰实现一个接口(提供默认实现)和一个或多个接口(不提供重写等效方法的默认实现)的类

这两个规则的例外是,如果所讨论的类的一个超类指定了一个重写等价的抽象方法,该方法胜过任何实现接口中的定义


如果该类从一个超类继承了一个具体的重写等效方法,或者定义了自己的方法,那么这些冲突都不适用。

您解决了它。刚刚测试过,这就是它的工作原理。