java初始化顺序

转载请注明:文章转载自:聚资库 [http://www.juziku.com]

本文标题:java初始化顺序

本文地址:http://www.juziku.com/sunlightcs/wiki/3851.htm

 

java初始化顺序

java初始化顺序 
JAVA类首次装入时,会对静态成员变量或方法进行一次初始化,但方法不被调用是不会执行的。 

01 class Test1 {
02     //3.初始化块
03     {
04         System.out.print("3\n");
05     }
06  
07     //4.父类构造器
08     Test1() {
09         System.out.print("4\n");
10     }
11  
12     //1.父类静态初始化块
13     static {
14         System.out.print("1\n");
15     }
16 }
17  
18 public class Test2 extends Test1 {
19     //6.子类构造器
20     Test2() {
21         System.out.print("6\n");
22     }
23  
24     //2.子类静态初始化块
25     static {
26         System.out.print("2\n");
27     }
28     //5.初始化块
29     {
30         System.out.print("5\n");
31     }
32  
33     public static void main(String[] args) {
34         //即使newTest2实例,静态块初始化也进行
35         new Test2();
36     }
37 }

 

你可能感兴趣的:(java)