オブジェクト向け_スタティツクコードブロック


特徴:クラスのロードに伴って実行され、一度だけ実行され、主関数の役割よりも優先されます.クラスを初期化するために使用されます.
フォーマット:static{静的コードブロック内の実行文}
 1 public class StaticCode1 {

 2     static{

 3         System.out.println("b");

 4       }

 5     public static void main(String[] args) {

 6         new StaticCode();

 7         new StaticCode();

 8         System.out.println("c");

 9     }

10     static

11     {

12         System.out.println("d");

13     }

14 }

15 class StaticCode{

16     static

17     {

18         System.out.println("a");

19     }

20 }

21 // :b  d a c

 
 1 class Demo{

 2     // , , 

 3     static int i = 1;

 4     static{// 

 5         System.out.println("a");// 

 6         i++;

 7     }

 8     public Demo(){

 9         System.out.println("b");

10         i++;

11     }

12 }
 1 public class StaticCode2{

 2     public static void main(String[] args) {

 3         new StaticCode5();// acb

 4         new StaticCode5(4);// acd

 5     }

 6 }

 7 class StaticCode5{

 8     StaticCode5(){

 9         System.out.println("b");

10     }

11     static{// ( , , )

12         System.out.println("a");

13     }

14     // 

15     {

16         System.out.println("c");

17 

18     }

19     // 

20     StaticCode5(int x){

21         System.out.println("d");

22     }

23 }