java执行顺序
java在实例化时,一些静态方法,方法快,构造方法等的执行顺序!
/* * 父类含构造方法、静态块与非静态块 */public class Test0 {public Test0(){System.out.println("Test0 constructor parent!");}static {System.out.println("static block test0! parent");}{System.out.println("block test0! parent");}}/* * 子类方法含静态块非静态块及构造方法 */public class Test1 extends Test0{Test1(){System.out.println("Test1 constructor");}{System.out.println("block test1" );}static {System.out.println("static block test1!");}public static void main(String args[]){//System.out.println("main method!");Test1 test1 = new Test1();}}/* * 父类含构造方法、静态块与非静态块 */public class Test0 {String para = "成员变量父类 aaa";public Test0(){para = "constructor 父类 aaa";System.out.println(para);}static {String para1 = "static block 父类 aaa";System.out.println(para1);}{System.out.println(para);para = "block 父类aaaa";System.out.println(para);}}/* * 子类方法含静态块非静态块及构造方法 */public class Test1 extends Test0{public String para = "成员变量子类 aaaa";Test1(){para = "constructor 子类aaaa";System.out.println(para);}{System.out.println(para);para = "block 子类aaaa";System.out.println(para );}static {String para1 = "static block 子类aaaa";System.out.println(para1);}public static void main(String args[]){//System.out.println("main method!");Test1 test1 = new Test1();}}