我在for循环中创建了一个Rectangle类,每次循环都会创建一个新的Rectangle对象。如果我的理解是正确的,那么每次创建一个新的Rectangle时,先前创建的Rectangle对象都是不可访问的(当前代码的编写方式),因为引用变量矩形现在指向最近创建的Rectangle对象。在每次循环创建新对象时,允许我们访问每个对象的最佳方法是什么?我知道一种方法是创建一个List并将每个新创建的Rectangle添加到列表中。
public class RectangleTest {
public static void main(String[] args) {
for (int i=1;i<5;i++){
Rectangle rectangle = new Rectangle(2,2,i);
System.out.println(rectangle.height);
}
}
}
public class Rectangle {
int length;
int width;
int height;
public Rectangle(int length,int width,int height){
this.length = length;
this.width = width;
this.height = height;
}
}
答案 0 :(得分:2)
您需要将创建的引用存储在某个列表或数组中。
List<Rectangle> list = new ArrayList<>();
for (int i=1;i<5;i++){
Rectangle rectangle = new Rectangle(2,2,i);
list.add(rectangle);
System.out.println(rectangle.height);
}
System.out.println(list.get(0).height);
答案 1 :(得分:0)
您应该创建一个ArrayList或一个链接列表: