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