パッケージ

パッケージ(package)

パッケージ(package)はJavaクラスファイルを機能ごとに分類する仕組みです。フォルダのようなイメージで、パッケージ名をつけて指定します。

パッケージ定義

パッケージの定義は、ファイルの先頭行にpackageをつけてパッケージ名を指定します。

package パッケージ名

パッケージの例

Drinkクラスが itemパッケージになっている場合です。

package item;

public class Drink {
    
}

デフォルトパッケージ

MessageAppは、src直下に配置されておりパッケージ名がついていません。これをデフォルトパッケージといいます。デフォルトパッケージの場合は、packageの指定は必要ありません。

//パッケージなし(デフォルトパッケージ)

public class MessageApp {
    
    public static void main(String[] args) {
        System.out.println("こんにちは!");
    }

}

インポート(import)

作成したクラスファイルを利用するときに、同じパッケージファイルは自動認識されるます。しかし、パッケージ名が違う場合はインポートが必要になります。

import パッケージ名.クラス名

インポートの例

MessageAppから、itemパッケージのDrinkクラスをインポートする作成します。

import item.Drink;

public class MessageApp {
    
    public static void main(String[] args) {
        System.out.println("こんにちは!");
    }

}

パッケージとクラス作成

ファイル構成

src/
├── MessageApp.java
└── item
            └── Drink.java

パッケージ作成

新規パッケージ作成

src/ を右クリックして「New Package」を選択します。

パッケージ名「item」を入力します。

パッケージ確認

itemパッケージが作成されました。

Drinkクラスの作成

itemパッケージに Drinkクラスを作成します。

クラスファイル作成

itemパッケージにマウスをあわせて、【New Class Java】をクリックします。

「Drink」を入力して、【Enter】します。

クラスファイル確認

itemパッケージにDrinkクラスが作成されました。

Drinkクラスの先頭に「package item」が追加されています。

Drink.java
package item;

public class Drink {

}

パッケージの利用

外部クラスからインポート

MessageAppのメインメソッドで、Drinkクラスを定義してみます。

MessageApp
    public static void main(String[] args) {
        System.out.println("こんにちは!");

        Drink drink;
    }

MessageAppDrinkが同じパッケージでないため、コンパイルエラーになりました。

Drinkのインポート

エラーの行にマウスをあわせて【クイックフィックス】を選択します。

【Import】を選択します。

インポート確認

MessageAppの先頭行に、itemパッケージのDrinkクラスがインポートされました。

MessageApp.java
import item.Drink;

public class MessageApp {
    
    public static void main(String[] args) {
        System.out.println("こんにちは!");

        Drink drink;
    }
}

演習

以下のファイル構成があります。

src/
├── SampleApp.java
└── item
        ├── ItemApp.java
        └── Drink.java

問題1

Javaプログラミングにおけるパッケージとは何ですか?

  1. Javaコード内で定義される特別な変数
  2. Javaコードをコンパイルした後に生成されるファイル
  3. Javaクラスをグループ化して管理する方法
  4. Javaコード内で使用される特別なキーワード

問題2

【あ】にあてはまるコード正しいのはどれですか?

【あ】

public class Drink {
    
}
  1. package Drink;
  2. package item;
  3. import Drink;
  4. import item;

問題3

【あ】にあてはまるコード正しいのはどれですか?

【あ】

public class SampleApp {
     public static void main(String[] args) {
        Drink drink;
    }
}
  1. package Drink;
  2. package item.Drink;
  3. import Drink;
  4. import item.Drink;

問題4

【あ】にあてはまるコード正しいのはどれですか?

【あ】

public class ItemApp {
     public static void main(String[] args) {
        Drink drink;
    }
}
  1. package item;
  2. package item.ItemApp;
  3. import Drink;
  4. import item.Drink;