1

/クラス C はインターフェース A を実装していますが、go() メソッドを定義していません。それは正しいですか? /

interface A { void go();}
Class B implements A { void go(){#Some code here}}
Class C extends B implements C {}
4

4 に答える 4

1

正しいです。ただし、インターフェイスのメソッドは、public abstractそのように定義していなくてもです。

メソッドの可視性を低下させることはできないため、実装するクラス メソッドもパブリックである必要があります。したがって、クラスのメソッドBpublic.

于 2012-10-24T11:27:26.317 に答える
0

C は B であり、したがって B からのメソッド定義を持っていることに注意してください。これを本当に機能させたい場合は、B と C の両方に抽象基本クラスを作成する必要があります。

于 2012-10-24T11:26:55.880 に答える
0

はい、C は を実装した B を拡張するgoため、C はこの実装を継承します。

于 2012-10-24T11:27:06.223 に答える
0

正しいです。からすでにメソッドを継承しBているため。実際、implements Afor クラスCは冗長です!

于 2012-10-24T11:27:22.060 に答える