讓我們假設我有這樣的代碼:爲什麼接口方法在實現接口的類中不能是靜態的?
public interface JustAnInterface {
void doSomething();
}
public class JustAnInterfaceImplementation implements JustAnInterface {
@Override
public static void doSomething() {
}
}
爲什麼static doSomething()
方法顯示錯誤「方法不從其超覆蓋法」?
因爲在接口中定義的方法是非靜態的。你的問題基本上是循環的。 – EJP
靜態方法通常無效。它們屬於它們所定義的類別,僅屬於該類別,並不構成層次結構的一部分。 – Michael
方法簽名與接口不同。 –