/クラス C はインターフェース A を実装していますが、go() メソッドを定義していません。それは正しいですか? /
interface A { void go();}
Class B implements A { void go(){#Some code here}}
Class C extends B implements C {}
正しいです。ただし、インターフェイスのメソッドは、public abstract
そのように定義していなくてもです。
メソッドの可視性を低下させることはできないため、実装するクラス メソッドもパブリックである必要があります。したがって、クラスのメソッドB
はpublic
.
C は B であり、したがって B からのメソッド定義を持っていることに注意してください。これを本当に機能させたい場合は、B と C の両方に抽象基本クラスを作成する必要があります。
はい、C は を実装した B を拡張するgo
ため、C はこの実装を継承します。
正しいです。からすでにメソッドを継承しB
ているため。実際、implements A
for クラスC
は冗長です!