パッケージとインポート
パッケージ
パッケージとはJavaプログラムにおいて関連するクラスやインタフェースをまとめるための仕組みです。パッケージはフォルダのようなものであり、関連するクラスやインターフェースを階層的に整理し、名前の衝突を避けることができます。これにより、大規模なプロジェクトでも管理しやすくなります。
例えば、‘com.example.myproject’ というパッケージには、‘com.example.myproject.PaymentProcessor’ や ‘com.example.myproject.TransactionManager’ などの関連するクラスが含まれます。
パッケージ化
パッケージ化は、Javaプログラムを整理し、管理しやすくするために、関連するクラスやインターフェースをまとめてパッケージに分けるプロセスです。
パッケージ宣言
各クラスファイルの先頭に、そのクラスが属するパッケージを宣言します。
package com.example.myproject;
public class PaymentProcessor {
// クラスの内容
}
インポート文の修正
他のクラスでこれらのクラスを使用する場合、インポート文を追加してパッケージを指定します。
import com.example.myproject.PaymentProcessor;
import com.example.myproject.TransactionManager;
public class PaymentService {
public static void main(String[] args) {
PaymentProcessor processor = new PaymentProcessor();
TransactionManager manager = new TransactionManager();
// ここで processor や manager を使用する処理を記述する
}
}
パッケージ化のメリット
1 コードの整理
2 名前の衝突を回避
3 アクセス制御
4 コードの再利用
5 チーム開発の効率化
パッケージの命名規則
1 パッケージ名は一意である必要があるため、通常は逆ドメイン名を使用します。
'com.example.myproject' のようにします。
2 パッケージ名はすべて小文字で書きます。
3 パッケージ名は関連する機能やモジュールに基づいてわかりやすい名前を付けます。
インポート文
インポート文(import文)は、他のパッケージに定義されたクラスやインターフェースを自分のクラスで使用するために宣言するものです。Javaでは、クラスを利用する際にそのクラスのパッケージを指定する必要があります。インポート文を使用することで、パッケージ名を省略してクラスを使用することができます。
import com.example.myproject.PaymentProcessor;
import com.example.myproject.TransactionManager;
public class PaymentService {
public static void main(String[] args) {
PaymentProcessor processor = new PaymentProcessor();
TransactionManager manager = new TransactionManager();
// ここで processor や manager を使用する処理を記述する
}
}
この例では、'PaymentProcessor 'と'TransactionManager 'のパッケージをインポートしており、それぞれのクラスをインポート文を使用して指定しています。
importキーワード
Javaプログラムでほかのパッケージに定義されたクラスやインターフェースを使用するために使用されます。
これにより、完全修飾名(パッケージ名を含むクラス名)を使わずに、クラスを利用できるようになります。
1 単一クラスのインポート
特定のクラスをインポートする場合、次のように記述します
import com.example.myproject.PaymentProcessor;
public class PaymentService {
public static void main(String[] args) {
PaymentProcessor processor = new PaymentProcessor();
// PaymentProcessor クラスのインスタンスを使用する
}
}
2 複数クラスのインポート
同じパッケージ内の複数のクラスをインポートする場合、ワイルドカード(*)を使用してまとめてインポートできます。
import com.example.myproject.*;
public class PaymentService {
public static void main(String[] args) {
PaymentProcessor processor = new PaymentProcessor();
TransactionManager manager = new TransactionManager();
// 複数のクラスを使用する
}
}
ワイルドカードを使用すると、そのパッケージ内のすべてのクラスがインポートされますが、サブパッケージのクラスは含まれません。
3 静的インポート
静的メソッドや静的フィールドをインポートする場合、'import static'を使用します。
import static java.lang.Math.PI;
import static java.lang.Math.sqrt;
public class MathExample {
public static void main(String[] args) {
double radius = 5.0;
double area = PI * sqrt(radius);
// 静的メソッドとフィールドを使用する
}
}