java中new两个对象,在堆中开辟几个对象空间(急)

首先Person是个类,类中定义了一个成员变量age;如果在程序中定义:
Person p=new Person();
则jvm会在堆中开辟一块空间,专门存放new Person()中的变量值。
如果这么定义:
Person p1=new Person();
Person p2=new Person();
p1.age=10;
p2.age=20;
我的问题是p1和p2指向的是同一个内存空间么?
还是jvm在堆当中开辟了两个Person的对象空间。
请高手指点。。。。

内存堆中有两个对象,两个对象里都有独立的age变量。
p1 p2指向的不是同一个内存空间。

也可以这样描述引用p1,p2指向两个不同的对象。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-30
p1和p2指向的是不同一个内存空间.
jvm在堆当中开辟了两个Person的对象空间。
第2个回答  2010-01-30
new 一次就是开辟一个新的内存空间!!
你new了两次,就是两个!肯定不会指向同一个内存空间的!
第3个回答  2010-01-30
两个堆内存空间!

你可以继续问。
相似回答