Javaキーワードの理解:初期化子
Javaプログラミング言語における「初期化子(Initializer)」は、クラスまたはオブジェクトがロードまたはインスタンス化されたときに、自動的に実行されるコードブロックのことを指します。初期化子は、クラス変数(静的変数)またはインスタンス変数の初期化に使用されます。この記事では、初期化子の種類、その使用法、およびJavaでの初期化子の使用例について、初学者にも分かりやすく解説します。
初期化子の種類
Javaには、二種類の初期化子があります:
- 静的初期化子(Static Initializer): クラスがJVMによってロードされる時に一度だけ実行されます。
staticキーワードを使用して定義されます。 - インスタンス初期化子(Instance Initializer): クラスのインスタンスが作成されるたびに実行されます。
staticキーワードなしで定義されます。
初期化子の使用法
- 静的初期化子: クラスレベルのデータ、例えば静的フィールドの初期化に使用されます。
- インスタンス初期化子: インスタンスごとに異なるデータ、例えばインスタンスフィールドの初期化に使用されます。
Javaでの初期化子の使用例
静的初期化子の例
public class StaticInitializerExample {
// 静的変数
static int staticNumber;
// 静的初期化子
static {
staticNumber = 10;
System.out.println("静的初期化子が実行されました。");
}
public static void main(String[] args) {
System.out.println("静的変数の値: " + staticNumber);
}
}
この例では、静的初期化子を使用して静的変数staticNumberを初期化し、初期化子が実行されたことを示すメッセージを表示しています。
インスタンス初期化子の例
public class InstanceInitializerExample {
// インスタンス変数
int instanceNumber;
// インスタンス初期化子
{
instanceNumber = 20;
System.out.println("インスタンス初期化子が実行されました。");
}
public static void main(String[] args) {
InstanceInitializerExample example = new InstanceInitializerExample();
System.out.println("インスタンス変数の値: " + example.instanceNumber);
}
}
この例では、インスタンス初期化子を使用してインスタンス変数instanceNumberを初期化し、初期化子が実行されたことを示すメッセージを表示しています。
まとめ
初期化子は、Javaにおける変数の初期化を自動化する強力なツールです。静的初期化子はクラスレベルのデータを、インスタンス初期化子はオブジェクトごとのデータを初期化するために使用されます。初期化子を適切に使用することで、プログラムの構造を清潔に保ち、初期化ロジックを一箇所に集約することができます。上記の例を通じて、Javaにおける初期化子の使用方法とその重要性について理解を深めることができました。

コメント