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
子类和父类的执行顺序说明:
父类的静态初始化域,
子类的静态初始化域,
父类的非静态初始化域,
父类的构造函数,
子类的非静态初始化域,
子类的构造函数。