覆蓋子接口中接口的方法/方法背後的原因是什麼?在子接口中覆蓋接口的方法/方法背後的原因是什麼?
例如
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