对象初始化顺序
对象初始化过程
- 对象创建的执行顺序
- 类加载 (执行静态代码块,初始化静态字段)
- 检查与验证
- 初始化(字段初始化)
- 初始化(构造方法初始化)
public class Obj {
private static Obj instance = null;
private Result cc = new Result(); //每次创建Obj对象,都会创建Result对象,即每个Obj对象都拥有独立的Result对象
static {
System.out.println("静态代码块");
// instance = new Standalone2();
}
public Obj(){
System.out.println("构造方法");
}
public Obj getInstance(){
return instance;
}
public static void main(String[] args) {
Obj standalone2 = new Obj();
System.out.println("==========");
Obj standalone21 = new Obj();
}
}
-
打印结果
静态代码块 初始化了 Result字段 构造方法 ========== 初始化了 Result字段 构造方法
------------
静心,笃行
------------