我无法回调一个已经创建的对象。例如,假设我创建了3个Person类的实例。如何检索回第一个对象的方法/详细信息。我不需要任何代码,我只需要知道如何做到这一点的理论。
谢谢。
发布于 2014-08-17 04:37:33
(对于可能奇怪的语法,我很抱歉,我使用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();
}然后,每次将一个新的Person对象赋给p时,前一个对象就会丢失,因为在其他任何地方都没有对它的引用。
但如果您将创建的对象添加到集合中,如下所示:
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);https://stackoverflow.com/questions/25343493
复制相似问题