Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaの静的ブロック(staticブロック)とは?例付きでわかりやすく解説

Javaの静的ブロックとは

静的ブロック(staticブロック)は、JVMのクラスローダーがクラスをロードするタイミングで実行される特別なコードブロックです。「静的初期化ブロック」とも呼ばれ、主に静的変数の初期化など、クラス単位で一度だけ行いたい処理を記述するために使用されます。

重要なポイントとして、静的ブロックはmain()メソッドよりも先に実行されるという特徴があります。以下に具体例を示します。

静的ブロックの主な特徴

  • クラスがメモリにロードされるときに、一度だけ実行される
  • main()メソッドよりも前に実行される
  • インスタンスを生成しなくても実行される
  • 1つのクラスに複数の静的ブロックを記述でき、記述した順番に上から実行される

サンプルコード

class Demo{
    static int val_1;
    int val_2;
    static{
       val_1 = 67;
       System.out.println("静的ブロックが呼び出されました。");
    }
}
public class Main{
    public static void main(String args[]){
       System.out.println(Demo.val_1);
    }
}

実行結果

静的ブロックが呼び出されました。
67

コードの解説

Demoクラスには、静的な整数変数val_1と、通常の(インスタンス)整数変数val_2が宣言されています。静的ブロック内ではval_1に67を代入し、コンソールへメッセージを出力しています。

Mainクラスのmain()メソッドでは、Demoクラスのインスタンスを生成することなく、クラス名を指定して静的変数val_1に直接アクセスし、その値を出力しています。

このプログラムを実行すると、まず「静的ブロックが呼び出されました。」というメッセージが表示され、その後にval_1の値である67が出力されます。これは、main()メソッド内でDemoクラスに初めてアクセスした時点でクラスローダーがDemoクラスをロードし、そのタイミングで静的ブロックが自動的に実行されるためです。

このように、静的ブロックを活用することで、クラスのロード時に必要な初期化処理を確実に、かつ一度だけ実行させることができます。

  1. EclipseでJavaFXをセットアップする方法|Maven依存関係とJARの手動追加を解説

    EclipseでJavaFXアプリケーションを開発するためには、あらかじめ環境構築が必要です。この記事では、Maven依存関係を利用する方法と、必要なJARファイルを手動で追加する方法という2つのアプローチをわかりやすく解説します。事前準備セットアップを始める前に、お使いのシステムにEclipseとJava(JDK)が正常にインストールされていることを確認してください。これらが揃っていれば、どちらの方法でもスムーズにJavaFX環境を構築できます。方法1:Maven依存関係を使ったセットアップMavenを利用してJavaFX環境を構築する場合は、まずEclipseで通常のJavaプロジェクトを

  2. Javaのfinalクラスとは?継承を禁止する仕組みと使い方を徹底解説

    Javaにおいて、クラスにfinal修飾子を付けて宣言する最大の目的は、そのクラスがサブクラス化(継承)されることを防ぐことです。クラスがfinalとして宣言されると、どのクラスもそのクラスを継承できなくなり、finalクラスの機能や振る舞いを拡張・変更することが不可能になります。finalクラスの基本構文finalクラスの宣言は非常にシンプルです。クラス名の前にfinalキーワードを付けるだけです。public final class Test { // クラスの本体 }このように宣言されたTestクラスに対して、以下のような継承を試みるとコンパイルエラーが発生します。// コンパイ