Revised: Sep./9th/2002: Since: Jan./1st/2002
前節でパッケージの作り方と利用方法を説明しました。本節では簡単なパッケージを作って、利用してみましょう。
最初に、利用するパッケージを作ります。パッケージを作ると言うよりも、パッケージに含まれるクラスを作るといった方が適切でしょう。パッケージとは、クラスファイルを保存するディレクトリのパスに他ならないからです。
Pack.java:
//パッケージ宣言
package firstPack.pack1;
//クラス定義
public class Pack {
//メンバ変数
int n;
String name;
//コンストラクタ
public Pack(int i, String s) {
this.n=i;
this.name=s;
}
//メソッド
public void getName() {
System.out.println(this.name+": "+this.n);
}
}
このクラスを、このパッケージ以外のクラスから利用する為に、アクセス制限の修飾子 public を記述しています。
このファイルを javac でコンパイルします。ソースファイル Pack.java の絶対パスは C:\Java だったとします:
C:\>cd Java C:\Java>javac Pack.java C:\Java>
これで、インタープリタに実行されるバイトコード Pack.class が生成されました。パッケージ名として明示したディレクトリまで Pack.class を移動させましょう。
いまは CLASSPATH を明示していないので、パッケージで指定されたパスを解釈するための基準ディレクトリはカレントディレクトリです。従って、現在のディレクトリ内に firstPack ディレクトリ内に pack1 ディレクトリを作って、そのディレクトリ内に Pack.class ファイルを移動させます。
![]() |
| 図:Pack.class のパッケージ |
Windows の場合の操作を説明しておきます。フォルダや「エクスプローラ」を開いていって、右クリック、「新規作成」で当該フォルダを作っていってもいいのですが、ここではコマンドプロンプトでの操作を紹介しておきます:
C:\Java>md firstPack\pack1 C:\Java>move Pack.class firstPack\pack1
md は「ディレクトリの作成」コマンドで、 move は「ファイルの移動」コマンドです。 copy でコピーしても結構です。確認しておきましょう:
C:\Java>cd firstPack\pack1 C:\Java\firstPack\pack1>dir /B Pack.class
dir はディレクトリ中のファイルとサブディレクトリを一覧表示します。スイッチ B はファイル名のみを表示します (見出しや要約が付きません)。確かに C:\Java¥firstPack\pack1 のディレクトリに Pack.class が存在します。
元のディレクトリに移動しておきましょう:
C:\Java\firstPack\pack1>cd ..\.. C:\Java>
| 概念図 | エクスプローラの画面キャプチャ |
|---|---|
C:__
|__Java
|__firstPack
|__pack1
|
![]() |
今作ったパッケージ firstPack.pack1 に含まれるクラス Pack を利用するクラスを作成しましょう。
TestPack.java:
//インポート
import firstPack.pack1.Pack;
//クラス定義
class TestPack{
public static void main(String args[]){
Pack obj=new Pack(107, "スガイ");
obj.getName();
}
}
冒頭で、カレントディレクトリ(基準ディレクトリ)から見た相対パス firstPack\pack1 に存在するクラスファイル Pack.class をインポートしているので、このファイルでは Pack クラスを利用できます。
コンパイルして実行してみましょう:
C:\Java>javac TestPack.java C:\Java>java TestPack スガイ: 107
コンピュータの利用で、ディレクトリを変える必要があると、とたんに出来なくなる方が多くいらっしゃいます。ディレクトリ構成の図を確認して、ゆっくり試してみてください。
![]() |
| 図:Pack.class のパッケージ |
ソースファイルは、 Pack.java と TestPackl.java の二つです。 Pack.java をコンパイルして生成されたクラスファイル Pack.class は、ディレクトリ C:\Java\firstPack\pack1 の中に存在します。 TestPack.class は C:\Java に存在します。