第10回:オーバーロード、オーバーライド、実行時のデータ型(2) (2/2)

徹底攻略Java 2プログラマ問題集 Platform 1.4対応
徹底攻略Java 2プログラマ問題集 Platform 1.4対応

第10回:オーバーロード、オーバーライド、実行時のデータ型(2)
著者:八木裕乃/明壁敦子
監修者:須澤秀人  編者:ソキウス・ジャパン   2005/8/25
前のページ  1  2
解答

   1ページ目の問題の解答を掲載します。解答には、問題の正解やその理由だけでなく、用語や重要事項などが詳しく解説されています。
第1問の解答: E

   継承とコンストラクタに関する問題です。Parentクラスには、Stringデータを引数に取るコンストラクタを定義しています。Childクラスにはコンストラクタの定義はしていません。この場合、Childクラスにはデフォルトコンストラクタが定義されています。21行目でChildクラスの引数なしのコンストラクタを呼び出し、インスタンス化を行います。このとき呼ばれるのは、デフォルトコンストラクタです。

   サブクラスのコンストラクタが呼び出されると、まずスーパークラスのコンストラクタが呼び出され、その後サブクラスのコンストラクタに定義した処理が実行されます。このとき、特に指定しなければ、スーパークラスの引数なしのコンストラクタが呼び出されます。

   このプログラムでは、スーパークラスにStringデータを引数に取るコンストラクタの定義をしているため、引数なしのコンストラクタは存在しません。そのため、コンパイルエラーが発生します。したがって、Eが正解です。


第2問の解答: A、D

   各選択肢に関する説明は以下のとおりです。

A.ほかのクラス内で定義されるクラスをネストクラスインナークラスと呼びます。正しい記述です。
B.ほかのクラス内で定義されるクラスは、外側のクラスのメンバになります。メンバ変数やメソッドの性質に加えて、クラスとしての性質を持ちます。static、final、abstract、public、private、protectedを指定することができます。誤りです。
C.クラスのスコープ内で定義されたインナークラスとは、選択肢Aのネストクラスを指します。選択肢Bの解説にあるように、さまざまな修飾子を指定することができます。privateを指定することも可能です。誤りです。
D.メソッド内で定義されるインナークラスは、メソッドのローカル変数と同じ性質を持ちます。アクセス可能な範囲も、定義されたメソッド内のみです。そのため、アクセス修飾子を指定することはできません。正しい記述です。
E.メソッド内で定義されるインナークラスに名前を付けることができます。記述は誤りです。
   したがって、ADが正解です。


第3問の解答: B、C

   無名インナークラスの定義とアクセス方法に関する問題です。13行目で、Sampleクラスのprintメソッドを呼び出しています。printメソッドはParent型のオブジェクトを引数に受け取り、そのオブジェクトのprintMessageメソッドを呼び出します。

   printメソッドの引数に指定しているのが、Parentクラスを親に持つ、無名のクラスです。無名クラスであるためコンストラクタを持つことができません。そのため、インスタンス化は親であるParentのコンストラクタを利用します。そのため、選択肢CのParentがまず出力されます。14行目から17行目が無名クラスの実装です。親であるParentクラスのprintMessageメソッドをオーバーライドしています。実行時には、オーバーライドした内容が実行されます。

   したがって、BCが正解です。

前のページ  1  2

書籍紹介
徹底攻略Java 2プログラマ問題集
Platform 1.4対応

徹底攻略Java 2プログラマ問題集 Platform 1.4対応SUN Java認定コースを担当する著者が臨場感ある問題と解説を書き下ろし!出題傾向をカバーする精錬問題を豊富に用意しているので、短期間で効率よく学習できます。実際の出題傾向を問題に盛り込むほか、詳しい解説をそれぞれ用意。単純な正否だけでなく、選択肢ごとになぜこれが正しいか、誤っているかその根拠をていねいに紹介しています。最終章の総仕上げ問題で試験の模擬対策も万全です!
発売日:2004.12.17発売
販売価格:3,360円(税込)

著者プロフィール
八木 裕乃
株式会社CSK 教育サービス事業部に所属。現在は、Java、UMLを利用したオブジェクト指向系の開発講座のコース開発からインストラクションまでを担当。Javaとはα版からの付き合いでそろそろ10年来となる!?取得資格:SJC-P、SJC-WC、OCUP Foundamental、MCSD、オラクルマスターなど著書:「マイクロソフト認定技術資格試験 MCP/MCSE必須用語辞典」(アスキー)



著者プロフィール
明壁 敦子
株式会社CSK 教育サービス事業部に所属。Java、UML、XML、オブジェクト指向、Webアプリケーション開発などの教材作成および講義を担当。Sun認定Javaインストラクタとしては、自らがJavaの習得に苦労した経験から、初心者でも解りやすい講座を心がけている。取得資格:SJC-P、SJC-WC、OCUP Fundamentalなど



監修者プロフィール
須澤 秀人
株式会社CSK 教育サービス事業部に所属。Java、UML、XML、ASP.NET、C、C++などの教材作成および講義を担当。「よく食べよく寝る」が座右の銘。取得資格:SJC-P、SJC-WC、OCUP Fundamentalなど著書:「dBASE?PLUSパーフェクトマスター入門編」(秀和システム)、「基本情報技術者 午後 Java スーパー攻略」(秀和システム・共著)など



編者プロフィール
株式会社ソキウス・ジャパン
クォリティ・メディア・カンパニーを標榜する出版社。2001年11月設立。2002年10月より株式会社インプレスと協業し、これまで30冊近い「徹底攻略問題集」を編纂する。また、自社で月刊「オープン・エンタープライズ・マガジン」を発行、発売している。
http://www.sociusjapan.co.jp/


INDEX
第10回:オーバーロード、オーバーライド、実行時のデータ型(2)
 問題
解答
徹底攻略Java 2プログラマ問題集 Platform 1.4対応
第1回クラス定義とアクセス制御
第2回制御文、アサーションと例外処理(1)
第3回制御文、アサーションと例外処理(2)
第4回ガーベッジコレクション
第5回Java言語の基礎(1)
第6回Java言語の基礎(2)
第7回演算子とデータのメモリ割り当て(1)
第8回演算子とデータのメモリ割り当て(2)
第9回オーバーロード、オーバーライド、実行時のデータ型(1)
第10回オーバーロード、オーバーライド、実行時のデータ型(2)
第11回オーバーロード、オーバーライド、実行時のデータ型(3)
第12回スレッド
第13回java.langパッケージのJava言語の基礎
第14回コレクション・フレームワーク

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored