java基础——类初始化顺序
类初始化顺序
父类静态变量/静态代码块,子类静态变量/静态代码块,父类变量/代码块/构造,子类变量/代码块/构造

01 class Parent { 02 private static String hello = "hello"; 03 public String world = "world"; 04 05 { //构造代码块 06 System.out.println("Parent的代码块"); 07 } 08 09 public Parent() { 10 System.out.println("Parent的构造方法"); 11 } 12 13 static {//静态代码块 14 System.out.println("Parent的静态代码块"); 15 } 16 } 17 18 class Son extends Parent { 19 private static String hello = "hello"; 20 public String world = "world"; 21 22 { //构造代码块 23 System.out.println("Son的代码块"); 24 } 25 26 public Son() { 27 super(); 28 System.out.println("Son的构造方法"); 29 } 30 31 static {//静态代码块 32 System.out.println("Son的静态代码块"); 33 } 34 35 public void print() { 36 System.out.println("hello world"); 37 } 38 } 开始执行 Parent的静态代码块 Son的静态代码块 Parent的代码块 Parent的构造方法 Son的代码块 Son的构造方法 hello world

浙公网安备 33010602011771号