类实例创建过程:有static关键字修饰的内容会在整个类执行前优先被加载,按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法;再执行本类继承的子类的初始化块,最后是子类的构造方法。
public class Load {
{
System.out.println("父类的代码块");
}
static{
System.out.println("父类的静态代码块");
}
public Load(){
System.out.println("父类的构造方法");
}
}
public class Loading extends Load{
{
System.out.println("子类的代码块");
}
static{
System.out.println("子类的静态代码块");
}
public Loading(){
super();
System.out.println("子类的构造方法");
}
}
public class Test {
public static void main(String[] arg) {
Load l=new Loading();
}
}
运行结果:
可以看出,加载顺序为: