🍏

[Java]パッケージ とは(備忘録)

2025/02/20に公開

1.はじめに

パッケージとは、複数のクラスやインターフェースをグループ化して整理するための仕組みです。
Javaファイルの先頭行でpackage 文を使用し、パッケージ宣言を行います。
・パッケージ名の命名規則は、インターネットのドメインを反対にした方式が一般的です。

パッケージ宣言の方法
package パッケージ名;

・パッケージ化されたクラスを他のクラスで使用する場合、import 文を使用します。

import文の書き方
// パッケージ化したクラスをインポートする場合
import パッケージ名.クラス名;

// パッケージに含まれる全クラスをインポートする場合
import パッケージ名.*;

2.サンプルプログラム

〇例1:

Sample_1.java
package com.lesson;

// 完全修飾クラス名:com.lesson.Sample_1
public class Sample_1 {
    public static void main(String[] args) {
        System.out.println("Hello");
    }
}

〇例2:アクセス元クラスと同じパッケージに存在するクラスにアクセスする

Main.java
// アクセス元クラス
public class Main {
    public static void main(String[] args) {
        // 同一パッケージ内のクラスにアクセス
        Target.displayMessage();
    }
}
Target.java
// アクセス先プログラム
public class Target {
    public static void displayMessage() {
        System.out.println("アクセスに成功しました");
    }
}
実行結果
アクセスに成功しました

実行環境

〇例3:パッケージ化されたクラスを他のクラスで使用する

Main.java
import com.Sample_1;
import com.lesson.Sample_2;

public class Main {
    public static void main(String[] args) {
        // srcフォルダー内のTestクラスのメソッドを呼び出す
        Test.displayMessage();
        // comフォルダー内のクラスのメソッドを呼び出す
        Sample_1.displayMessage();
        // lessonフォルダー内のクラスのメソッドを呼び出す
        Sample_2.displayMessage();
        // lessonフォルダー内のTestクラスのメソッドを呼び出す
        com.lesson.Test.displayMessage();
    }
}
Test.java
public class Test {
    public static void displayMessage() {
        System.out.println("Mainクラスと同じフォルダー内のTestクラスに接続");
    }
}
Sample_1.java
package com;

public class Sample_1 {
    public static void displayMessage() {
        System.out.println("comフォルダー内のSample_1クラスに接続");
    }
}
Sample_2.java
package com.lesson;

public class Sample_2 {
    public static void displayMessage() {
        System.out.println("lessonフォルダー内のSample_2クラスに接続");
    }
}
Test.java
package com.lesson;

public class Test {
    public static void displayMessage() {
        System.out.println("lessonフォルダー内のTestクラスに接続");
    }
}
例3のプログラムのフォルダー構成
src/
├── Main.java
├── Test.java
└── com/
    ├── Sample_1.java
    └── lesson/
        ├── Sample_2.java
        └── Test.java

3.参考

パッケージ
【Java】パッケージの利用方法とは?命名規則から宣言方法まで

Discussion