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