【发布时间】:2018-05-13 15:58:33
【问题描述】:
我试图理解为什么下面的程序无法编译。 两种默认方法的返回类型在两个接口中都不同。 是否应该将它们视为接口 c 中的两种不同方法?
interface a{
default void log(String str){
System.out.println("I1 logging::"+str);
}
}
interface b {
default int log(String str){
System.out.println("I1 logging::"+str);
return 0;
}
}
interface c extends a,b{
}
HelloWorld.java:32:错误:类型 b 和 a 不兼容;都定义了 log(java.lang.String),但返回类型不相关接口 c 扩展 a,b{ }
【问题讨论】:
标签: java jakarta-ee memory-management java-8