覆盖子接口中接口的方法/方法背后的原因是什么?在子接口中覆盖接口的方法/方法背后的原因是什么?
例如
interface I{ public void method();}
interface I2 extends I{@Override public void method();}
覆盖子接口中接口的方法/方法背后的原因是什么?在子接口中覆盖接口的方法/方法背后的原因是什么?
例如
interface I{ public void method();}
interface I2 extends I{@Override public void method();}
您可能需要您的方法的返回类型更改为子类型的原始返回类型。例如:
interface I {
public Object method();
}
interface I2 extends I {
@Override
public Integer method();
}
也可以添加default
实施,这是在Java中8.如介绍的方法:
interface I {
public void method();
}
interface I2 extends I {
@Override
default public void method() {
System.out.println("do something");
}
}
很好的答案。 btw这里的'public'关键字是多余的,除了在Java 9中你可以在接口中使用私有方法。 –
@KlitosKyriacou是的,你是对的。 –
你没有做到这一点,如果这是你的问题? – Yazan
你得问问I2的作者。当你在这里时,问为什么它有这样一个可怕的毫无意义的名字,为什么它有0个文档,为什么它甚至没有正确格式化/缩进。如果你发现一个**真实**的例子,那么问一下(但是javadoc应该让你理解为什么,并且大部分时间能够为该方法添加/修改文档是原因,就像https://docs.oracle.com/javase/8/docs/api/java/util/List.html#equals-java.lang.Object-) –
我在Spring API实现中发现它。 – subhashis