Person p 只在栈中有个变量标识,堆内存中没有分配 所以他指向一个null 而 Person pp = new Person() 不仅在栈中有变量标识,而且堆内存中已经分配空间.
那么person p 与 person pp=new person();内存中什么区别? person p 只是在内存中申明一下,所以只给引用变量p分配了一点内存,但是p指向的值是null,所以没分配空间。person pp=new person() 当然引用变量pp分配了空间,对象new Persion()也分配了空间
pp指向了一个person对象的内存地址 值不为null
而 Person pp = new Person() 不仅在栈中有变量标识,而且堆内存中已经分配空间.
person p 只是在内存中申明一下,所以只给引用变量p分配了一点内存,但是p指向的值是null,所以没分配空间。person pp=new person() 当然引用变量pp分配了空间,对象new Persion()也分配了空间