オブジェクト向け_スタティツクコードブロック
6702 ワード
特徴:クラスのロードに伴って実行され、一度だけ実行され、主関数の役割よりも優先されます.クラスを初期化するために使用されます.
フォーマット:static{静的コードブロック内の実行文}
フォーマット: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 }