検索
連載

再利用性を高める抽象クラスを習得するソースコードで学ぶ SJC-P 5.0 ドリル(5)(2/2 ページ)

本連載は、サン・マイクロシステムズ認定のJava資格Sun Certified Programmer for Java 2 Platform 5.0(SJC-P5.0)に対応しています。最新の出題傾向に基づいて、ソースコードの問題を中心に毎回模擬問題を1問出題します。ソースコードに慣れながら、SJC-P合格を目指して頑張りましょう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

解答

 C、E

解説

 Aは、メソッド定義の終わりが;となっているためコンパイルエラーです。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 Bは、メソッドの終わりが{ }となっていますが、abstractキーワードを使用しているためコンパイルエラーです。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 Cは、Fooクラスの抽象メソッドを正しくオーバーライドしているため問題ありません。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 なお、Fooクラスの4行目で宣言しているmethodA()は、publicとabstractが逆でも正しい記述です。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 Dは、抽象メソッドであるmethodA()メソッドをオーバーライドしていないため、コンパイルエラーです。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 Eは、クラス宣言がabstractとなっているため、スーパークラスの抽象メソッドであるmethodA()メソッドをオーバーライドしていなくても問題ありません。ただし、Barクラスをスーパークラスに持つ具象サブクラスを定義した場合、FooクラスのmethodA()メソッドを正しくオーバーライドする必要があります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

さらにもう一歩

 ある抽象クラスを基に、抽象サブクラスを作成することができます。継承関係を持つため、抽象サブクラスを作成する際にはextendsを使用します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

筆者紹介

山本道子

有限会社Ray代表。千葉県出身。一般事務、派遣を経て2000年サン・マイクロシステムズ入社。J2SEのほか、J2EEなどサーバサイドJavaコース担当およびテキスト開発に携わる。2004年退職後、有限会社Rayを設立し、システム開発、インストラクタ、執筆などを手掛けている。



前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る