私はこのようなコードがあるとしましょう:インターフェイスを実装するクラスでインターフェイスメソッドを静的にすることができないのはなぜですか?
public interface JustAnInterface {
void doSomething();
}
public class JustAnInterfaceImplementation implements JustAnInterface {
@Override
public static void doSomething() {
}
}
はなぜstatic doSomething()
方法は「メソッドはスーパークラスからメソッドをオーバーライドしません」というエラーを示していますか?
インターフェイスで定義されたメソッドは静的ではないためです。あなたの質問は基本的に円形です。 – EJP
一般的に、静的メソッドはオーバーライドする意味がありません。それらは、それらが定義されているクラスに属し、そのクラスにのみ属し、階層の一部を構成しません。 – Michael
メソッドのシグネチャはインターフェイスとは異なります。 –