パッケージとは

 Java Platformはクラスの集合体です。様々な種類のクラスで構築されていますが、その数はとても多いため、扱いやすくするためにグループ化されています。その単位をパッケージと呼びます。パッケージという概念があるため、必要とするクラスが探しやすくなります。また、同じ名前のクラスがあっても必要なものを特定できるようになっています。この仕組みは例えると、Windows系の場合はフォルダーとファイルの関係に、Unix系の場合はディレクトリーとファイルの関係と言えます。

 また、独自のクラスを作るときは、同じ名前のクラス名を付けないようにするために名前を考える必要がありますが、パッケージを分けることにより同じ名前を付けて扱うことが可能になっています。今まで作成していたクラスはパッケージの指定はしませんでしたが、所属するパッケージ名の指定を省略した場合は「デフォルト」パッケージに所属するものとして扱われています。

 パッケージを指定してクラスを作るにはプログラムの最初に次のように指定します。

パッケージ指定の書式
package パッケージ名;

○ ファイル

 次のようにファイルを作成してください。

ファイル名 PackTest.java

サンプルダウンロード

○ プログラム

 次のようにパッケージ名を指定したクラスを作成してください。

  1. package pack;
  2. public class PackTest{
  3.  public String message(){
  4.   return "違うパッケージのクラスからのメッセージ";
  5.  }
  6. }

○ コンパイル

C:¥work¥4-4>javac -d . PackTest.java

C:¥work¥4-4>

〇 解説

 1行目でパッケージ名を指定しています。今回はpackパッケージを指定しています。コンパイル時に-dオプションをつけて展開するディレクトリーと、コンパイルするファイルを指定します。すると、指定したディレクトリーにパッケージ名の名前が付いたフォルダーが作成され、その中にクラスファイルが作成されます。

○ ファイル

 次のようにファイルを作成してください。

ファイル名 Run8.java

○ プログラム

 今までと同じようにデフォルトパッケージに所属する実行クラスを作成してください。

  1. public class Run8{
  2.  public static void main(String[] args){
  3.   //PackTestオブジェクトを生成
  4.   pack.PackTest obj = new pack.PackTest();
  5.   //メッセージを表示する
  6.   System.out.println(obj.message());
  7.  }
  8. }

〇 解説

 4行目でPackTestクラスのインスタンス生成をしています。このクラスはパッケージが違うために、「パッケージ名.クラス名」のように指定する必要があります。

○ 実行例

違うパッケージのクラスからのメッセージ

前へ   次へ