在子接口中覆盖接口的方法/方法的原因是什么?
例如
interface I{ public void method();}
interface I2 extends I{@Override public void method();}
答案 0 :(得分:5)
您可能需要将方法的返回类型更改为原始返回类型的子类型。例如:
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");
}
}