クラスは、別のクラスによってメソッド内の独自のメンバーまたはローカル変数として宣言されたオブジェクトを必要とする場合がありますが、2 つのクラスが同じパッケージ内にある場合は問題ありません。 import ステートメントを使用する必要があります。
クラスライブラリからクラスをインポートする
import ステートメントを使用して、パッケージ内にクラスを導入します。ソース ファイルを作成するときは、クラスを自分で作成するだけでなく、さまざまなパッケージに含まれる Java によって提供される多くのクラスを使用する必要があることがよくあります。
Java が提供するクラスを使用するには、import ステートメントを使用してパッケージにクラスを導入します。 Java ソース プログラムには複数の import ステートメントを含めることができ、それらは package ステートメント (package ステートメントがある場合) とソース ファイル内のクラスの定義の間に記述する必要があります。Java では約 130 個のパッケージが提供されます。
例えば:
java.lang にはすべての基本的な言語クラスが含まれています
java.io にはすべての入力クラスと出力クラスが含まれています
java.util にはユーティリティ クラスが含まれています
java.sqlにはデータベースを操作するためのクラスが含まれています
java.net には、ネットワーク機能を実装するすべてのクラスが含まれています
パッケージ内のすべてのクラスを導入する場合は、代わりにワイルドカード記号アスタリスク (*) を使用できます。次に例を示します。
importjava.util.*;//java.util パッケージ内のすべてのクラスの導入を示します importjava.util.Date;//java.util パッケージ内の Date クラスの導入を示します
カスタム パッケージからクラスをインポートする
ユーザー プログラムは、import ステートメントを使用して、クラス以外のライブラリにパッケージ名を持つクラスを導入することもできます。次に例を示します。
importtom.jiafei.*;
独自のプログラムで tom.jiafei パッケージ内のクラスを使用できるようにするために、ユーザーはクラスパスで tom.jiafei パッケージの場所を指定できます。たとえば、tom.jiafei パッケージの場所が C:1000 であるとします。パッケージ名が tom.jiafei のクラスです。バイトコードは C:1000tomjiafei ディレクトリに保存されています。ユーザーは、次のようにクラスパスの値を更新できます。
setclasspath=C:jdk1.6jrelibrt.jar;.;C:1000/* は、C:1000 ディレクトリ内の名前のないパッケージ クラスをロードでき、その子孫ディレクトリを C: にロードできることを意味します。 1000 ディレクトリをパッケージ名として使用できます */
ユーザーがクラスパス値を更新したくない場合は、ユーザー プログラムが配置されているディレクトリ内にパッケージに対応するサブディレクトリ構造を作成できます。
たとえば、ユーザー プログラム内の特定のクラスが配置されているディレクトリは C:2000 です。このクラスが import ステートメントを使用してクラスを tom.jiafei パッケージに導入する場合は、ディレクトリ構造 C:2000 を作成します。パッケージ名に基づく tomjiafei デフォルトのクラスパス値は次のとおりであるため、クラスパスの値を変更する必要はありません。
C:jdk1.6jrelibrt.jar;.;/* 「.;」は、アプリケーションのカレントディレクトリにある名前のないパッケージクラスをロードでき、カレントディレクトリの下の子孫ディレクトリを使用できることを意味しますパッケージ名として* /