第6回:Java言語の基礎(2) (2/2)

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

第6回:Java言語の基礎(2)
著者:八木裕乃/明壁敦子
監修者:須澤秀人  編者:ソキウス・ジャパン   2005/8/11
前のページ  1  2
解答

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

   選択肢A〜Eはすべて正しいメソッドの構文です。よって、02行目に追加した場合、コンパイル可能です。したがって、Fが正解です。ただし、Javaプログラムの起動クラスとしては、JVMが呼び出すメソッドのシグニチャが決まっているため、選択肢AとBに限られます。その他のメソッドは実行することができません。


第2問の解答: A、B、F

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

A. package文はファイルの先頭に記述します。記述した場合、Testクラスはa.Testパッケージのクラスということになります。パッケージ名がクラス名と同じでも構いません。よって、コンパイルは正常に終了します。通常は、パッケージ名は小文字で記述します。
B. classの宣言も、publicクラスの宣言の前に記述することができます。
C. AクラスがTestクラスを継承している部分が誤りです。Testクラスはfinal指定されているため、このサブクラスを作成することはできません。よって、コンパイルエラーになります。
D. publicクラスは1つのファイル内に1つしか宣言できないためコンパイルエラーになります。publicクラスがファイルに存在する場合、ファイル名はpublicクラス名と同じにしなければならないという制約があります。
E. 選択肢Dと同様です。interfaceもpublicとした場合、ファイル名はpublicインタフェース名と一致させる必要があります。よって、コンパイルエラーになります。
F. import文はファイルの先頭に記述します。package文がある場合は、package文のあとに記述します。
   したがって、ABFが正解です。


第3問の解答: C

   01行目に何も記述せずにコンパイルをすると、「Vectorクラスがシンボルを解釈できません」というコンパイルエラーが発生します。Vectorクラスはjava.utilパッケージに含まれているので、明示的にimportする必要があります。import文はファイルの先頭に記述します。したがって、Cが正解です。import文の構文は以下のとおりです。

import インポートするクラス;
   パッケージはピリオド(.)でつなげます。

例: a.b.cパッケージのAクラスのインポート
import a.b.c.A;
第4問の解答: A、D

   選択肢Aは、クラスを継承したサブクラスの宣言です。継承は、extendsの後ろに親クラスを指定しますが、この選択肢では、2つのクラスを指定しています。Javaは単一継承のみをサポートしており、2つのクラスをスーパークラスとすることはできません。よって、誤りです。クラスを継承する場合の構文は以下のとおりです。

[修飾子] class クラス名 extends スーパークラス名 {…}
   スーパークラスの指定は1つしかできません。

   選択肢Bは、インタフェースを実現するクラスの宣言です。インタフェースの実現は、implementsの後ろに実現するインタフェースを指定します。継承と違い、複数のインタフェースを実現することができます。よって、正しい構文です。

   選択肢Cは、インタフェースを継承したインタフェースの宣言です。extendsの後ろに継承したいインタフェースを指定します。クラスと違い、インタフェースは複数のインタフェースを継承することができます。よって、正しい構文です。

   選択肢Dは、インタフェースの宣言ですが、インタフェースはほかのインタフェースを実現することはできません。よって、implementsを宣言に利用できません。

   選択肢Eは、クラスの宣言ですが、extendsとimplementsを両方使っています。つまり、クラスTestはClassAを継承し、InAを実現しています。これは正しい構文です。

   コンパイルエラーが発生するのはADです。


第5問の解答: C

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

A. インナークラスは、外側のクラスと同じクラス名で定義することができません。記述は誤りです。
B. インナークラスにアクセスするには、外側のクラスのインスタンスを生成し、外側のクラスを介してインナークラスにアクセスします。記述は誤りです。
C. インナークラスのメソッドは、外側のクラスのインスタンス変数にアクセスできます。正しい記述です。
D. 無名インナークラスは、定義した箇所で一時的にしか利用できません。そのため、アクセス修飾子を付加することもできません。記述は誤りです。
E. 無名インナークラスは、実装したインタフェースや、スーパークラスのコンストラクタを呼び出すことでインスタンス化を行います。無名インナークラス自体にコンストラクタを定義することはできません。記述は誤りです。
   したがって、Cが正解です。

前のページ  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
第6回:Java言語の基礎(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

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