
【6日でできるJava入門】パッケージとインポート
Javaのクラスやライブラリは膨大な数が存在し、それらは整理・管理のためにパッケージという単位でグループ化されています。
また、クラスを利用する際には、プログラム中で正しい「クラス名(正式名称)」を記述したり、import文を使って簡潔に記述できる仕組みが用意されています。ここでは「パッケージ」と「インポート(import)」の基本と使い方を解説します。

1.パッケージとは
1.1. クラスの正式名称とパッケージ階層
Javaでは、各クラスは所属するパッケージ名+クラス名で一意に特定されます。
クラスの正式名称は、パッケージ階層をドット.
で繋げて表現します。
例 | 内容 |
---|---|
java.lang.String | Stringクラス(言語基本) |
java.util.Random | ランダム生成クラス(ユーティリティ) |
java.io.FileInputStream | ファイル入力ストリーム(入出力) |
階層構造のイメージ
java
├── applet
├── awt
├── beans
├── io ← java.io パッケージ
├── lang ← java.lang パッケージ
│ ├── annotation
│ ├── instrument
│ ├── management
│ ├── ref
│ └── reflect
├── net
├── nio
├── security
├── sql
├── text
├── util
│ ├── concurrent ← java.util.concurrent パッケージ
│ │ ├── jar
│ │ ├── logging
│ │ ├── regex
│ │ ├── zip
│ │ ├── atomics
│ │ └── locks
org
javax
1.2. パッケージの役割
- クラスをグループ化し、名前の重複を防ぐ
- 階層的な管理(まるでディレクトリやフォルダのよう)
- 機能別に整理され、使いやすくなっている。
2.import文の使い方
2.1. import文の基本
プログラム内で「パッケージ名+クラス名」を毎回すべて書くのは大変です。
そこで、import
文を使うことで、クラス名だけで利用できるようにします。
例:import文を使わない場合
ファイル名: lesson20_1.java
public class lesson20_1 {
public static void main(String[] args) {
java.util.Random rand = new java.util.Random();
int n = rand.nextInt(10);
System.out.println("乱数: " + n);
}
}
実行結果
乱数: 7
例:import文を使う場合
ファイル名: lesson20_2.java
import java.util.Random;
public class lesson20_2 {
public static void main(String[] args) {
Random rand = new Random();
int n = rand.nextInt(10);
System.out.println("乱数: " + n);
}
}
実行結果
乱数: 1
2.2. ワイルドカード(*)によるまとめてインポート
複数のクラスを同じパッケージから使う場合は、「*」でまとめてインポートできます。
import java.util.*;
の意味
- これは「java.utilパッケージに含まれるすべてのクラスを使えるようにする」という意味です。
*
は「ワイルドカード」と呼ばれ、複数のクラス(例:Random
,ArrayList
,Scanner
など)をまとめてインポートします。
ファイル名: lesson20_3.java
import java.util.*;
public class lesson20_3 {
public static void main(String[] args) {
Random rand = new Random();
ArrayList<String> list = new ArrayList<>();
list.add("りんご");
list.add("バナナ");
System.out.println("リスト: " + list);
}
}
実行結果
リスト: [りんご, バナナ]
※
import java.*;
のように、javaパッケージ全体はインポートできません。
ワイルドカードが使えるのはパッケージ階層1つ分のみです。
3.自作パッケージの作成と利用
3.1. パッケージ宣言
自分で作成したクラスをパッケージにまとめる場合は、ファイルの先頭でpackage
文を使います。
例:自作パッケージの宣言
ファイル名: HelloTool.java
「sampl\tools」ディレクトリ内に「HelloTool.java」を作成します。
package sample.tools;
public class HelloTool {
public void sayHello() {
System.out.println("こんにちは、ツールクラスからのメッセージです。");
}
}
実行結果
使う側のクラス:
ファイル名:PackageUseExample.java
import sample.tools.HelloTool;
public class PackageUseExample {
public static void main(String[] args) {
HelloTool tool = new HelloTool();
tool.sayHello();
}
}
実行結果
こんにちは、ツールクラスからのメッセージです。
4.パッケージとimportのまとめ表
用語 | 説明 | サンプル例 |
---|---|---|
パッケージ | クラスを階層で管理する単位 | java.util、java.io |
import文 | 他のパッケージのクラスを簡単に使うための宣言 | import java.util.Random; |
ワイルドカード | パッケージ配下すべてのクラスを一度にインポート | import java.util.*; |
package文 | クラスを自作パッケージに属することを宣言する | package myapp.tools; |
まとめ
- Javaクラスはパッケージ階層で整理されており、クラス名の前にパッケージ名をつけて管理される。
import
文を使うことで、クラス名だけで簡単にライブラリ利用ができる。- 複数のクラス利用時は
*
でまとめてインポートできるが、パッケージ階層を超えてのインポートは不可。 - 自作クラスもパッケージでまとめて管理し、
package
・import
文で他ファイルから使うことができる。