パッケージとは?

Javaにおける「パッケージ」とは、プログラムをフォルダのように階層化して整理したもの。

パッケージ内に保管されるプログラムの先頭に基本構文が記載される。

// 基本構文
package パッケージ名;

パッケージ内のプログラムを別のパッケージから利用するときはimport文を利用する。 パッケージの中のすべてのクラスをインポートする場合はアスタリスク(*)を使用する。

// import文
import パッケージ名.クラス名;

// import文・すべてのクラスをインポートする場合
import パッケージ名.*;

標準API

利用頻度が高いクラスやインターフェースを予めパッケージにしたものが「標準API」。 Javaの標準APIはJDKに同梱されており、具体的な配置はJavaのバージョンによって異なる。 具体例は下記。Oracle社のホームページにドキュメントあり。

JDK(Java Development Kit)
Java開発キット。プログラムを書く・コンパイルする・実行するために必要な公式ツール一式

  • java.io:入出力処理を扱うパッケージ(ファイル読み書きやストリーム操作)
  • java.lang:Java言語の基本となるクラスを集めたパッケージ
  • java.util:コレクションや日付などのユーティリティクラスを集めたパッケージ(List・Map・Date等)

java.langパッケージ

java.langパッケージだけは自動的にimportされるため、import文なしで利用可能。 java.langパッケージでは頻繁に利用するクラスやインターフェースが定義されている。

  • Objectクラス:すべてのクラスのスーパークラス
  • Stringクラス:文字列を格納するためのクラス
  • Integerクラス:int型のラッパークラス(基本データ型の値を参照型として扱う際に利用するクラス)

パッケージ命名規則

Oracle公式が示す命名規則の基本は次の2点。

  • 全て小文字:クラス名(UpperCamelCase)と区別するため
  • 逆ドメイン記法:自分が所有するドメインを逆順にして先頭に置く(パッケージ名を世界で一意にするため)

具体例:

  • Oracle(oracle.com)→ com.oracle.*
  • Apache Foundation(apache.org)→ org.apache.*
  • 個人(GitHub Pages利用者:username.github.io)→ io.github.username.*

注意点:

  • java.*javax.* は標準ライブラリ専用なので、自分のコードでは使えない
  • ドメインにハイフンを含む場合(例:my-company.com)はアンダースコアに置き換える(com.my_company

サンプルコード:HelloWorldをインポート

package import_sample1;

public class HelloWorld {
	// 別パッケージから呼べるように public static で切り出す
	public static void sayHello() {
		System.out.println("Hello World");
	}

	public static void main(String[] args) {
		sayHello();
	}
}
package import_sample2;

import import_sample1.HelloWorld; // sample1 の HelloWorld を取り込む

public class ImportHelloWorld {

	public static void main(String[] args) {
		HelloWorld.sayHello(); // import したクラスの static メソッドを呼ぶ
	}

}
// import_sample2のmainメソッドの実行結果
Hello World
  • public 必須の話:別パッケージを参照するには参照元のクラス・メソッド両方がpublicである必要がある
  • importの意味:import 文は「フル修飾名の省略」の宣言にすぎず、書かなくても import_sample1.HelloWorld.sayHello() のようにフルパスで書けば同じ動作になる

参考リンク

変更履歴

  • 2026-04-30: 初版公開(パッケージ概念・標準API・java.lang・命名規則)
  • 2026-05-01: 標準APIにJDK補足追加・サンプルコード(HelloWorldインポート例+解説)追加