【Java基础】对象的具体创建过程

  1. 所有的类(以Dog类为例)在第一次使用时,动态的加载到JVM中,当首次创建Dog对象时,或者是Dog类的静态方法、静态属性域在第一次被访问时,JVM解释器查找到classpath,定位到Dog.class文件
  2. 载入Dog.class文件,生成一个class类型对象,所有有关的静态初始化动作(静态代码块、静态属性)都会被执行,并且这种初始化动作只在class对象首次加载时进行一次(包括父类的静态代码块、静态属性)
  3. 当用new Doa()创建对象时,首先JVM在堆上为Dog对象分配足够的存储空间
  4. 自动将Dog对象中的所有基本类型设置为默认值,对象引用设置为null
  5. 执行所有字段定义处的初始化操作
  6. 调用构造方法(先调用父类的构造方法)

原文地址:https://www.cnblogs.com/oversea201405/p/3749579.html