Previous | Next | Trail Map | Writing Java Programs | オブジェクト、クラス、インタフェース


パッケージのクラスとインタフェースの使用

(前の節で作成した graphics パッケージの Circle クラスように)現在のファイルに特定のクラスあるいはインタフェースをインポートするには、import 文を使用する。

import graphics.Circle ;

import 文はクラスやインタフェース定義の前で、ファイルの始めに置かなければならない。こうすることによって、クラスやインターフェイスはインポートしたファイルで定義されたクラスやインタフェースを使用することができる。

例えば、graphics パッケージ全体のように、パッケージからすべてのクラスとインタフェースをインポートしたければ、アスタリスク”* ”のワイルドカード文字と一緒に import 文を使用する。

import graphics.*;

インポートされていないパッケージからクラスあるいはインタフェースを使用しようとすると、コンパイラは致命的エラーを発行する。

testing.java:4: Class Date not found in type declaration.
	Date date;
        ^

public に宣言されたクラスとインタフェースだけが、定義されたパッケージ以外のクラスによって使用されることができるので注意すること。

デフォルトのパッケージ(名前がないパッケージ)は常にインポートされる。同様に ランタイムシステムは自動的に java.lang パッケージをインポートする。

何かの偶然で、パッケージ内のクラス名が他のパッケージ内のクラス名と同じだった場合、クラスの初めにパッケージ名を付加して名前を明確にしなければならない。 たとえば、前に graphics パッケージで Rectangle と呼ばれるクラスを定義した。java.awt パッケージにも同様に Rectangle クラスが含まれる。 もし両方のgraphicsjava.awtの両方がインポートされると、次のコード行(および Rectangle クラスを使用しようとするその他のコード)はあいまいになる。

Rectangle rect;

このような状況では、より明確に指定して、正確にどの Rectangle クラスにするのかを示さなくてはならない。

graphics.Rectangle rect;

クラス名の初めにパッケージ名を付加し、ピリオドで 2 つを分ける。


Previous | Next | Trail Map | Writing Java Programs | オブジェクト、クラス、インタフェース