对象的初始化顺序 1.无继承时 应为static空间分配比较早,在对象创建之前已经存在,随着类的加载已经跟随着内存的分配。 所以: static属性static代码块属性代码块构造方法 /* * 测试两种代码块的优先级 */ { System.out.println("代码块"); } static { System.out.println("static代码块");// 优先级高! } 运行结果 2.有继承时(先静态,后构造方法) 父类静态代码块父类静态属性子类静态代码块子类静态属性父类代码块父类属性父类构造方法子类代码块子类属性子类构造方法