Javaでサブパッケージを使う方法とは?コンパイルからインポートまで徹底解説
Javaのサブパッケージとは
Javaにおけるサブパッケージは、ファイルシステム上のサブディレクトリとよく似た仕組みです。パッケージを階層的に整理することで、多数のクラスやインターフェースを効率よく管理できるようになります。
例として、com.apple.computers というパッケージに Dell.java というソースファイルが含まれている場合、そのファイルは次のような一連のサブディレクトリの中に配置されます。
....\com\apple\computers\Dell.java
コンパイル時の出力ファイルの仕組み
コンパイルを実行すると、コンパイラはソースファイル内で定義されているクラス、インターフェース、列挙型(enum)ごとに個別の出力ファイルを生成します。出力ファイルのベース名はその型の名前となり、拡張子は .class になります。
具体的な例を見てみましょう。
// ファイル名:Dell.java
package com.apple.computers;
public class Dell {
}
class Ups {
}
このファイルを、-d オプションを付けて次のようにコンパイルします。
$javac -d . Dell.java
-d オプションを指定すると、パッケージ名に対応したディレクトリ構造が自動的に作成され、ファイルは以下のように出力されます。
.\com\apple\computers\Dell.class .\com\apple\computers\Ups.class
サブパッケージ内のクラスをインポートする方法
com\apple\computers\ 内で定義されたすべてのクラスやインターフェースをまとめて利用したい場合は、ワイルドカード(*) を使って次のように記述します。
import com.apple.computers.*;
このように -d オプションを使えば、パッケージ名とディレクトリ構造が一致した形でクラスファイルが自動生成されるため、後からインポートして利用するのも非常に簡単です。大規模なプロジェクトでは、機能ごとにサブパッケージへ分割して整理することで、コードの可読性と保守性を大幅に向上させることができます。
-
Javaで他のパッケージのクラスを使用する3つの方法
Javaで他のパッケージのクラスを利用する方法 Javaでは、関連するクラスをパッケージにまとめることでコードを整理できます。ここでは、payrollパッケージ内に定義されたBossクラスを例に、別のパッケージにあるクラスを利用する方法を解説します。 package payroll; public class Boss { public void payEmployee(Employee e) { e.mailCheck(); } } 上記のコードは、BossクラスとEmployeeクラスが同じpayrollパッケージに存在する場合の例です。しかし、もしEmpl
-
Javaで一時ファイル(テンポラリファイル)を作成する方法
プログラムの実行中に、一時的な情報を保存するためにその場で一時ファイルを作成し、後から削除したいケースはよくあります。 Javaでは、Files.createTempFile() メソッドを使用することで、簡単に一時ファイルを作成できます。 一時ファイルの作成 次の例では、Files.createTempFile(prefix, suffix) を使って一時ファイルを作成しています。 import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; public class CreateTem