|
||||||||||||||||||||||||||||||
| 前のページ 1 2 | ||||||||||||||||||||||||||||||
| 解答 | ||||||||||||||||||||||||||||||
|
1ページ目の問題の解答を掲載します。解答には、問題の正解やその理由だけでなく、用語や重要事項などが詳しく解説されています。 |
||||||||||||||||||||||||||||||
| 第1問の解答: C、D | ||||||||||||||||||||||||||||||
|
カプセル化とは、データとそれを操作する手続きを一体化して、オブジェクトとして定義することです。カプセル化を行うことによって、オブジェクトの構造を外部から隠蔽することができます。外部からは公開された手続きを利用することでしかデータを操作できないようにし、個々のオブジェクトの独立性を高めます。ソフトウェアの保守性や開発効率を高め、プログラムの部分的な再利用が容易になります。 カプセル化を行うには、メンバ変数にprivate修飾子を定義し(C)、クラス外から直接アクセスができないようにします。そして、メンバ変数に対するアクセッサメソッド(getter/setter)を定義します(D)。したがって、CとDが正解です。 |
||||||||||||||||||||||||||||||
| 第2問の解答: D、E | ||||||||||||||||||||||||||||||
|
Objectクラスは、配列を含むすべてのオブジェクトのスーパークラスです。Object型の参照変数で、すべてのオブジェクトを参照することができます。GrandChild、Child、Parentの関係は以下のとおりです。 |
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
GrandChildオブジェクトをObject型の変数で参照するときに暗黙の型変換が行われ、Object型のオブジェクトで管理されています。それを、GrandChild、Child、Parent型の変数で参照するには、キャストを行ってから参照する必要があります。したがって、DとEが正解です。 |
||||||||||||||||||||||||||||||
| 第3問の解答: B | ||||||||||||||||||||||||||||||
|
15行目でChildクラスのインスタンスを生成し、Child型の変数で参照しています。 16行目でParent型の変数に参照をコピーしています。parentobjからアクセスできる範囲は以下の図のとおりです。 18行目で呼び出しているメソッドは、Parentクラスから継承したメソッドであるためアクセス可能ですが、19行目で呼び出しているprintChildMessageメソッドはChildクラスのメソッドであるため、コンパイルエラーが発生します。そのため、17行目でChild型にキャストして、元の型に戻します。したがって、Bが正解です。 |
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
| 第4問の解答: A、B | ||||||||||||||||||||||||||||||
|
メソッドのオーバーライドに関する問題です。 08行目でsetAgeメソッドを定義していますが、引数がString型です。スーパークラスのsetAgeメソッドの引数はint型であるため、オーバーライドにはなりません。この場合、オーバーロードと見なされます。 16行目では、setAgeメソッドにint型の引数を渡していますので、スーパークラスから継承したメソッドが実行されます。 したがって、AとBが正解です。 |
||||||||||||||||||||||||||||||
|
前のページ 1 2 |
||||||||||||||||||||||||||||||
|
書籍紹介 徹底攻略Java 2プログラマ問題集 Platform 1.4対応
SUN Java認定コースを担当する著者が臨場感ある問題と解説を書き下ろし!出題傾向をカバーする精錬問題を豊富に用意しているので、短期間で効率よく学習できます。実際の出題傾向を問題に盛り込むほか、詳しい解説をそれぞれ用意。単純な正否だけでなく、選択肢ごとになぜこれが正しいか、誤っているかその根拠をていねいに紹介しています。最終章の総仕上げ問題で試験の模擬対策も万全です!発売日:2004.12.17発売 販売価格:3,360円(税込) |
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||


