Javaで他のパッケージのクラスを使用する3つの方法
Javaで他のパッケージのクラスを利用する方法
Javaでは、関連するクラスをパッケージにまとめることでコードを整理できます。ここでは、payrollパッケージ内に定義されたBossクラスを例に、別のパッケージにあるクラスを利用する方法を解説します。
package payroll;
public class Boss {
public void payEmployee(Employee e) {
e.mailCheck();
}
}
上記のコードは、BossクラスとEmployeeクラスが同じpayrollパッケージに存在する場合の例です。しかし、もしEmployeeクラスがpayrollパッケージに存在しない場合はどうすればよいのでしょうか。その場合、Bossクラスから別のパッケージのクラスを参照するために、以下のいずれかの手法を使う必要があります。
1. 完全修飾名(FQCN)を使用する
クラスを使用する箇所で、パッケージ名を含めた完全修飾名を直接指定する方法です。
payroll.Employee
この方法は追加の宣言が不要で手軽ですが、クラスを使用するたびに毎回パッケージ名を書く必要があるため、コードが冗長になりやすいというデメリットがあります。
2. importキーワードとワイルドカード(*)を使う
importキーワードとワイルドカード(*)を組み合わせると、指定したパッケージ内のすべてのクラスをまとめてインポートできます。
import payroll.*;
この方法なら、そのパッケージのどのクラスでもクラス名だけで参照できるようになります。ただし、実際にどのクラスが使われているのかソースコード上で分かりにくくなる点には注意が必要です。
3. 必要なクラスだけを個別にimportする
利用するクラスが明確な場合は、そのクラスだけを個別にインポートするのが最も一般的な方法です。
import payroll.Employee;
この方法であれば、コードを読んだときにどの外部クラスに依存しているのかが一目で分かるため、可読性と保守性の両面で優れています。
まとめ
別のパッケージのクラスを利用するには、「完全修飾名での指定」「ワイルドカードによる一括インポート」「特定クラスの個別インポート」の3つの方法があります。実務では、依存関係が明確になる「特定クラスの個別インポート」を使うのがベストプラクティスとされています。
-
Javaで他のパッケージのクラスにアクセスする3つの方法
Javaでは、パッケージが異なるクラスを利用する際には、特別な記述方法が必要になります。ここでは、payrollパッケージ内にBossクラスが定義されている例を使って、その仕組みを解説します。具体例:payrollパッケージ内のBossクラスpackage payroll; public class Boss { public void payEmployee(Employee e) { e.mailCheck(); } }このコードでは、Bossクラスは同じpayrollパッケージ内にあるEmployeeクラスを直接参照しています。しかし、もしEmployee
-
Javaで別のパッケージのクラスにアクセスする3つの方法
Javaでは、クラスをパッケージにまとめることでコードを整理できますが、別のパッケージにあるクラスを利用したい場合には特別な記述方法が必要です。ここでは、payrollパッケージ内に定義されたBossクラスを例に、その方法を解説します。例:payrollパッケージ内のBossクラスpackage payroll; public class Boss { public void payEmployee(Employee e) { e.mailCheck(); } }上記のコードでは、BossクラスとEmployeeクラスが同じpayrollパッケージ内にあるため、