5.
パッケージ
パッケージ
パッケージ(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;
}
MessageAppとDrinkが同じパッケージでないため、コンパイルエラーになりました。
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プログラミングにおけるパッケージとは何ですか?
- Javaコード内で定義される特別な変数
- Javaコードをコンパイルした後に生成されるファイル
- Javaクラスをグループ化して管理する方法
- Javaコード内で使用される特別なキーワード
問題2
【あ】にあてはまるコード正しいのはどれですか?
【あ】
public class Drink {
}
- package Drink;
- package item;
- import Drink;
- import item;
問題3
【あ】にあてはまるコード正しいのはどれですか?
【あ】
public class SampleApp {
public static void main(String[] args) {
Drink drink;
}
}
- package Drink;
- package item.Drink;
- import Drink;
- import item.Drink;
問題4
【あ】にあてはまるコード正しいのはどれですか?
【あ】
public class ItemApp {
public static void main(String[] args) {
Drink drink;
}
}
- package item;
- package item.ItemApp;
- import Drink;
- import item.Drink;