Java对象实例化顺序
/**
* @(#)InitialTest.java
*
*
* @author
* @version 1.00 2008/8/3
*/
public class InitialTest2 extends InitialTest1 {
{
System.out.print("1");
}
public InitialTest2() {
System.out.print("2");
}
static{
System.out.print("3");
}
{
System.out.print("4");
}
public static void main(String[] args){
new InitialTest2();
}
}
class InitialTest1{
InitialTest1(){
System.out.print("5");
}
static{
System.out.print("6");
}
}
输出结果:635142
子类和父类的执行顺序说明:
父类的静态初始化域,
子类的静态初始化域,
父类的非静态初始化域,
父类的构造函数,
子类的非静态初始化域,
子类的构造函数。