1. java类之有被使用时才会加载,在初次使用时才会加载;而所有的static对象和static代码块都会在加载时依程序中的顺序而一次初始化(定义为static的对象或者代码块只会被加载一次)
2. 类的加载,当对一个类进行加载时,会将当前类和基类或者导出类都加载完成;当类加载完后就是初始化,显示基类的static被初始化,到导出类,当static和类都被加载完后就可以创建对象了,创建对象前会先初始化成员变量,当所有类的成员都初始化完后,就会调用构造方法;
3. 构造器的调用和成员的初始化都按照类的加载顺序进行,由基类向外延伸;
4. 执行顺序:
执行父类静态代码 执行子类静态代码
初始化父类成员变量(我们常说的赋值语句)
初始化父类构造函数
初始化子类成员变量
初始化子类构造函数