下面的代码,
interface I3{
boolean abc();
};
interface I2{
void abc();
};
public class Example1 implements I3, I2{
@Override
public void abc() {
//Eclipse IDE picked this unimplemented method with the compiler error
}
}不陷入这种情况是程序员的责任吗?
为什么Java允许一个接口扩展多个接口?什么时候java已经避免了一个类继承多个超类的类似问题?
在从多个接口继承相似常量的情况下,子类中的interfacename.constantname避免了多义性。
发布于 2015-07-26 23:02:44
是的,程序员当然有责任不陷入这种情况。
接口是一种产生多重冲突的方式,我们不能把JVM和这种冲突混淆起来。
发布于 2015-07-26 22:58:23
因为两个abc()方法都有相同的签名(返回类型不是方法签名的一部分),java不能区分主题,这种情况会导致冲突
https://stackoverflow.com/questions/31638236
复制相似问题