Javaに関する様々な情報をご紹介します。

1はじめてのパッケージ

Javaに関する様々な情報をご紹介します。

はじめてのパッケージ

このページではJavaにおけるパッケージの概要について説明します。

なぜパッケージを使用するのか

Javaでのパッケージの使用利点としては以下の3つが挙げられます。

  1. 同じ役割を持つクラス・インタフェースを1つのパッケージにまとめることにより、そのクラス・インタフェースの持つ意味がわかりやすくなります。
  2. 同じ名前を持つクラス・インタフェースが複数ある場合、名前の衝突を避けることができます。
  3. パッケージを使用することにより、クラス・メンバ変数・メソッド・コンストラクタにアクセス制限をつけることができます。
パッケージの使用例

パッケージの使用例

パッケージの利点の一つである名前衝突を避ける点について以下に例示します。詳細については次ページ以降詳しく説明します。

【例1】パッケージを使用した例です。

PackageA/ExPackage.javaファイル

package PackageA;  //(1)パッケージPackageAの作成

    public class ExPackage {  //(2)
        public void showName() {
        System.out.println("PackageAに属します。");
    }
}

PackageB/ExPackage.javaファイル

package PackageB;  //(3)パッケージPackageBの作成

public class ExPackage {  //(4)
    public void showName() {
        System.out.println("PackageBに属します。");
    }
}

ExPackage1.javaファイル

import PackageA.ExPackage;  //(5)PackageA.ExPackageのインポート

public class ExPackage1 {
    public static void main(String[] args) {
        ExPackage ex = new ExPackage();  //(6)
        ex.showName();  //(7)
    }
}

解説1

  1. (1)パッケージPackageAの作成を行います。
  2. (2)クラスExPackageの定義を行います。
  3. (3)パッケージPackageBの作成を行います。
  4. (4)クラスExPackageの定義を行います。 パッケージが異なるため、同名のクラスの共存が可能です。
  5. (5)PackageAに属するExPackageクラスをインポートします。
  6. (6)ExPackageクラスのオブジェクトexを生成します。(5)でPackageA.ExPackageをインポートしているため、ExPackageクラスがPackageBのクラスではなく、PackageAのクラスであることが判別できます。
  7. (7)showNameメソッドにより、属するパッケージ名の表示を行います。

実行結果1

D:\JAVA>javac ExPackage1.java

D:\JAVA>java ExPackage1
PackageAに属します。

D:\JAVA>

1はじめてのパッケージ