对象初始化顺序

对象初始化过程

  • 对象创建的执行顺序
    1. 类加载 (执行静态代码块,初始化静态字段)
    2. 检查与验证
    3. 初始化(字段初始化)
    4. 初始化(构造方法初始化)
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字段
    构造方法
    
posted @ 2021-02-02 16:26  ylj-2021  阅读(70)  评论(0编辑  收藏  举报