私たちにはClass
(と言うAnimal
)があり、Interface
(と言うBehave
)があります。どちらAnimal
にもBehave
同じ署名を持つメソッドがあります(たとえばpublic void eat()
)。
eat()
メソッドの本体をClass
(たとえばDog
) whichextends Animal
とに記述しようとすると、実際にはimplements Behave
どのメソッドが参照されるのでしょうか? またはeat()
にあるもの。どちらの場合でも、なぜそのようになるのでしょうか。Animal
Behave
編集:
Eclipse
この質問を投稿する前に、このシナリオを試しました。
ここで興味深いのは、 を実装していても、内にメソッドBehave
を作成しない場合 (つまり、継承された抽象メソッドeat()
を実装しない場合) 、メソッドを持っているから既に拡張しているため、エラーは発生しないことです。Behave's
Dog
Animal
eat()