对象的初始化过程Person p = new Person("zs",20)
一旦编译该语句,就执行了以下步骤:
a.因为new用到了Person.class文件,所以虚拟机会先找到Person.class文件,并加载到内存中
b.如果有的话就先执行该类中的static代码块,给Person.class类进行初始化
c.在堆内存中开辟空间,分配内存地址
d.在堆内存中,建立对象的特有属性并进行默认初始化
e.对属性进行显示初始化f.对对象进行构造代码块初始化
g.对对象进行与之对应的构造函数初始化h.将内存地址赋给栈内存中的p变量