JAva静的文ブロック(static block)


Java静的文ブロック
Javaの静的文ブロックは、構造メソッドよりも優先的に存在します.通常、単一列モードと同様に、1回のオブジェクトのみを作成するために使用され、実行される順序は次のとおりです.
親静的文ブロック->子静的文ブロック->親構築メソッド->子構築メソッド
静的文ブロックは、クラスのロード時に実行され、一度だけ実行されると見なすことができる.
検証プログラム
public class TestMethod extends BaseClass {

    static int a;

    public TestMethod() {
        super();
        System.out.println("constructor of exec");
    }

    static {
        String a1="12";
        String a2="22";
        a=Integer.parseInt(a1)+Integer.parseInt(a2);
        System.out.println("chilren static block");
    }

    public static void main(String[] args) {
        System.out.println(TestMethod.a);
        TestMethod.a=45;
        new TestMethod();
        System.out.println(TestMethod.a);
        new TestMethod();
        System.out.println(TestMethod.a);
    }

}

class BaseClass{
    
    static int a;
    
    static {
        String a1="10";
        String a2="20";
        a=Integer.parseInt(a1)+Integer.parseInt(a2);
        System.out.println("baseClass static block");
        System.out.println(a);
    }
    
    public BaseClass(){
        System.out.println("Base class constructor of exec");
        System.out.println(BaseClass.a);
        BaseClass.a=300;
        System.out.println(BaseClass.a);
    }
}