一、基本知识
一个对象的创建过程包含两个过程:初始化<clinit>和实例化<init>
我们在使用一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。
在类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化。
实例化时候,java虚拟机就会为其分配内存来存放自己及其从父类继承过来的实例变量。在为这些实例变量分配内存的同时,这些实例变量先会被赋予默认值(零值)。在内存分配完成之后,Java虚拟机才会对新创建的对象赋予我们程序员给定的值。
小结:创建一个对象包含下面两个过程:
1、类构造器完成类初始化(分配内存、赋予默认值、静态属性赋值、执行静态代码块)
2、类实例化(根据指定的构造方法赋予给定值)
https://baijiahao.baidu.com/s?id=1637836912223474691&wfr=spider&for=pc