老韩牛逼!!
先看创建对象 的那句话:
在方法区里加载Persion类(只会加载一次,其实可以看作是一个模板啦),由于行创建一个对象,所以会在堆中心开辟一个空间,并给地址,此时还在加载Persion,将age赋值为90,由于String没有初始值,所以置空;又因为有构造器,所以将String在堆中给一个地址,地址指向常量区,存放 小倩的名字,再将原来的80改成20,这个时候才出现p对象(这其实只是对象的名字罢了,真正的对象是在堆中的),给p一个地址,地址指向堆的地址,创建完毕。若是再创建一个对象的话,我们就可以直接是用p对象的有所信息了。p其实只是接受了一个地址。
老师的:
1、加载Persion
2、在堆中分配空间
3、完成对象属性初始化【1.默认初始化age = 0 name = null 2、age = 90 name = null 3、构造器的初始化】
4、将地址给p这个对象名。也可以理解成对象的引用。