1/24

Java silverの13章の68問目が、回答を読んでもわかりません。。。なぜ Eは誤りなのでしょうか?よろしければ解説をお願いします。

オーバーロードとして扱われるBに対して、選択肢Eはオーバーライドとして扱われます。しかし、戻り値型が異なるためオーバーライドが成り立たないことになります。オーバーライドするときには戻り値型が同じか、サブクラス型でなければいけませんが、List<Number>とList<Integer>は、Number型だけを扱うList型と、Integer型だけを扱うList型という意味になり、この2つに継承関係にはありません。あまりたとえ話をするのは好きではありませんが、家電だけを扱う店員さん(電気屋さん)と、魚介類だけを扱う店員さん(魚屋さん)に継承関係がないのと同じです。

スポンサーリンク

志賀澄人@Java黒本の著者さんになんでも質問しよう!

質問

スタンプ

利用できるスタンプはありません。

スポンサーリンク

質問する

過去に答えた質問

スポンサーリンク