假设我有两个接口:
public interface I1
{
default String getGreeting() {
return "Good Morning!";
}
}
public interface I2
{
default String getGreeting() {
return "Good Afternoon!";
}
}
如果我想同时实现它们,将使用什么实现?
public class C1 implements I1, I2
{
public static void main(String[] args)
{
System.out.println(new C1().getGreeting());
}
}
原文由 kavai77 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是一个编译时错误。您不能从两个接口有两个实现。
但是,它是正确的,如果您在 --- 中实现 ---
C1
getGreeting
方法:我只是想补充一点,即使 I1 中的方法是抽象的,而 I2 中的默认方法,你也不能同时实现它们。所以这也是一个编译时错误: