Java召回对象问题

时间:2014-08-16 20:07:47

标签: java oop object

我无法回想起已经创建的对象。例如,如果我们假设我创建了3个Person类的实例。如何检索第一个对象的方法/详细信息。我不需要任何代码,我只需要知道如何做到这一点的理论。

谢谢。

1 个答案:

答案 0 :(得分:1)

(对于可能奇怪的语法道歉,我使用Scala而不是Java)

如果您以这种方式创建对象:

for (int i=0; i<3; i++) {
   Person p = new Person();
}

然后,在循环中进行下一次迭代后,您的Person对象将丢失。

即使你在循环之外有Person对象:

Person p;
for (int i=0; i<3; i++) {
   p = new Person();
}

然后每次为p分配一个新的Person对象时,前一个对象都会丢失,因为在其他任何地方都没有引用它。

但是如果将创建的对象添加到集合中,如下所示:

List<Person> plist = new ArrayList<Person>();
Person p;
for (int i=0; i<3; i++) {
   p = new Person();
   plist.add(p);
}

然后您的Person对象(对它们的引用)存储在plist中,只要您将plist保留在范围内,就可以访问它:

Person p0 = plist.get(0);
Person p1 = plist.get(1);
Person p2 = plist.get(2);