1 class CodeDemo01 2 { 3 CodeDemo01() 4 { 5 System.out.println("CodeDemo01构造方法"); 6 } 7 8 { 9 System.out.println("CodeDemo01代码块");// 在new CodeDemo01 时 才执行这句,而且是在main后 10 } 11 12 public static void main(String[] args) 13 { 14 System.out.println("CodeDemo01的main方法"); 15 // 普通代码块 16 { 17 System.out.println("CodeDemo01的main方法里的代码块"); 18 } 19 new CodeDemo01(); 20 new CodeDemo02(); 21 } 22 } 23 24 class CodeDemo02 25 { 26 // 构造方法 27 CodeDemo02() 28 { 29 System.out.println("CodeDemo02的构造方法后执行"); 30 } 31 32 // 构造代码块 33 { 34 System.out.println("CodeDemo02的构造代码块先执行"); 35 } 36 // 静态代码块 37 // 静态块优先于主方法的执行,静态块优先于构造方法的执行,而且只执行一次! 38 static 39 { 40 System.out.println("CodeDemo02的静态块"); 41 } 42 43 }