ほぷしぃ

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

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

第3問解答

「abstract」と「final」は全く正反対の機能を持つため、
同時に使うと、「矛盾」が生じてしまうから。

第3問解説

「abstract」と「final」についての理解度を確認する問題です。
この2つについて、もう一度説明します。

abstract

抽象クラス・抽象メソッドを作成するために使うキーワードです。
つまり、「継承」・「オーバーライド」を前提に定義したい時に使います。

final

変更不可にするために使うキーワードです。
具体的に「継承」・「オーバーライド」・「書き換え」を禁止したい時に使います。
以上より、abstractとfinalは全く正反対の機能を持ちます。
そのため、同時に使うと、abstractで継承を前提にしているにもかかわらず、
finalで継承を禁止するという、矛盾が生じます。
したがって、この2つは同時には使えません。



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