先执行父类的静态方法,再执行子类的静态方法,然后再父类的构造方法,最后是子类的构造方法。
例:
public class A {
static{
System.out.print(1);
}
public A(){
System.out.print(2);
}
}
public class B extends A{
static{
System.out.print("a");
}
public B(){
System.out.print("b");
}
}
public class C {
public static void main(String[] args){
A a = new B();
a = new B();
}
}
执行结果是:1a2b2b