类加载顺序
class A {
static{
System.out.println("静态代码块加载");
}
{
System.out.println("父类匿名代码块加载1");
}
public A(){
System.out.println("父类构造方法块加载");
}
{
System.out.println("父类匿名代码块加载2");
}
}
class B extends A {
static{
System.out.println("子类静态块加载");
}
{
System.out.println("子类匿名代码块加载3");
}
public B(){
System.out.println("子类构造方法块加载");
}
{
System.out.println("子类匿名代码块加载4");
}
}
public class Application{
public static void main(String[] args){
B b = new B();
/**
* 结果:
* 静态代码块加载
* 子类静态块加载
* 父类匿名代码块加载1
* 父类匿名代码块加载2
* 父类构造方法块加载
* 子类匿名代码块加载3
* 子类匿名代码块加载4
* 子类构造方法块加载
**/
}
}