<<4.クラスの基礎の目次
import文
問題2(難易度:1)                                2004年11月9日
 次の記述の中で正しいものを選びなさい。

 A. import文は、package文の前になければならない。
 B. java.langパッケージに属するクラスは、import文で指定しなくてもクラス名だけで使用できる。
 C. import文で指定された二つのパッケージに、同名のクラスがあった場合、クラス名のみでの使用は、最初に現れたimport文のパッケージのクラスが対象となる。
 D. import文でクラス名を指定すれば、どんなクラスでも使用できる。
 E. 次のimport文が指定されていても、java.awt.eventパッケージのクラスはその対象とならない。
          import java.awt.*;
解説
 Aから順に見ていきましょう。

 Aは×。impoer文はpackage文より後になければなりません。package文が先頭になります。

 Bは○。java.lang.Systemやjava.lang.Mathなど、java.langパッケージ内のクラスすべてが対象になります。

 Cは×。例えばDateという名前のクラスは、java.utilとjava.sqlの両方のパッケージに存在します。もし次のようなimport文があり、プログラム中でクラス名「Date」で使おうとすると、どちらのパッケージのDateかわからず、コンパイラがエラーを出します。
       import java.util.*;
       import java.sql.*;
 もしjava.util.Dateを使いたければ、
       import java.util.Date;
を追加するか、使用するところで「java.util.Date」とフルネームで指定してください。

 Dは×。import文は単にプログラム中で、パッケージ名も入れてフルネームでクラスの指定をするのが大変だ、ということで、どのパッケージあるいはどのクラスを使用するかを宣言するものです。当然相手クラスのアクセス指定によっては使えないクラスもあります。

 Eは○。パッケージとディレクトリを対応させると、一見階層関係がありそうですが、パッケージの方はそういう関係は一切ありません。よってjava.awt.eventパッケージのクラスは
       import java.awt.event.*;
として別に指定しなければなりません。


解答 B E

参考 読み物Java 第8章 遠くから眺めてみよう
<<4.クラスの基礎の目次次問題>>
Copyright (c) 2004 Nagi Imai All Rights Reserved..