ほぷしぃ

Java言語入門 〜C言語を学んだ君へ〜

[第9回] 練習問題 第2問解答

第2問解答

プログラムの実行結果

第2問解説

抽象クラスを使った「ポリモーフィズム」の理解度を確認する問題です。
特別難しいことはしていませんので、簡単に解説します。

解説

まず、クラスAをクラスBとクラスCが継承しています。
ここで、クラスAは抽象クラスのため、
クラスBとクラスCはprintメソッドをオーバーライドします。
次に、クラスEx09_02のメインメソッドでは、
クラスBのオブジェクトを、クラスAの型にキャストしています。
そして、printメソッドを呼び出します。ここで、重要なことは

キャストを使っても「元のオブジェクトの処理が呼び出される」ということです。

したがって、クラスBとCのオブジェクトに対して、
printメソッドを呼び出したため、それが実行結果に反映されます。



第2問-問題へ ページのトップへ 第3問-問題へ