注册 登录
编程论坛 JAVA论坛

发现一个很有意思的小问题,具体看下文(已经懂了)

紫月一殇雪 发布于 2015-11-12 19:58, 512 次点击
首先,我定义一个数组,然后创建一个对象进行存储,然后将原对象再次创建(new),再次进行存储,那么数组里面是一个元素还是两个元素?两个元素又是否一样?原理是什么?

Student[] stu=new Student[3]();
Student student=new Student();
student.setName("1");
stu[0]=student;

Student student=new Student();
student.setName("2");
stu[1]=student;

2 回复
#2
新手Huang2015-11-13 15:27
数组变量是引用类型的,存的是数组在堆内存的地址,所以是两个元素,这两个元素分别是两个对象。我应该没理解错吧,有错的话就帮忙纠正哈,我是新手
#3
诸葛欧阳2015-11-13 15:56
这两个对象并不相同,c++与JAVA不同在JAVA中如果要创建的对象已经存在那么就会返回那个对象的引用而不是创建新对象
1