覆盖子接口中接口的方法/方法的原因是什么?

时间:2017-08-30 06:18:19

标签: java ooad

在子接口中覆盖接口的方法/方法的原因是什么?

例如

interface I{ public void method();}
interface I2 extends I{@Override public void method();}

1 个答案:

答案 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");
    }
}