サブインターフェイスのインターフェイスのメソッド/メソッドをオーバーライドする理由は何ですか?例サブインターフェイスのインターフェイスのメソッド/メソッドをオーバーライドする理由は何ですか?
あなたは、元の戻り値の型のサブタイプにあなたのメソッドの戻り値の型を変更する必要があります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();
}
それとも、Javaの8例で導入された方法にdefault
実装を追加することができます。
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