java的赋值
假设有一个Person类,一个Person类的对象p(1)Personp1;p1=p;//这样子p1没在堆区申请内存,p和p1是同一个对象(2)Personp2=newP...
假设有一个Person类,一个Person类的对象p
(1)Person p1;
p1=p;//这样子p1没在堆区申请内存,p和p1是同一个对象
(2)Person p2=new Person();
p2=p;//这样子p2虽然new的时候在堆区申请了内存,由于p把引用赋予给p2,p和p2也是同一个对象,p2原来申请的堆内存变成垃圾了。还是说p2只是申请了引用内存?new是对应堆内存的吧?
上面说法对吗,Person p1;和Person p2=new Person();申请内存是怎么样的(栈内存和堆内存),声明和赋值对内存操作是怎么样的(栈内存和堆内存),2种声明方法对内存操作是什么样的(栈内存和堆内存). 展开
(1)Person p1;
p1=p;//这样子p1没在堆区申请内存,p和p1是同一个对象
(2)Person p2=new Person();
p2=p;//这样子p2虽然new的时候在堆区申请了内存,由于p把引用赋予给p2,p和p2也是同一个对象,p2原来申请的堆内存变成垃圾了。还是说p2只是申请了引用内存?new是对应堆内存的吧?
上面说法对吗,Person p1;和Person p2=new Person();申请内存是怎么样的(栈内存和堆内存),声明和赋值对内存操作是怎么样的(栈内存和堆内存),2种声明方法对内存操作是什么样的(栈内存和堆内存). 展开
2个回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询