使用循环创建多个对象

时间:2017-07-04 20:56:48

标签: java

我是初学者,我对构建对象有疑问。

我不明白在这种情况下如何创建具有相同变量名“oneCar”的两个对象:

 for (int i = 0; i<2 ; ++i)
    {
        Car oneCar = new Car();
    }

它将创建两个具有两个不同引用的对象“oneCar”。

但如果我这样做:

Car oneCar = new Car();
Car oneCar = new Car();

这会告诉我有一个重复的变量。

2 个答案:

答案 0 :(得分:4)

除了几个例外,Java中的局部变量的范围限定为最近的大括号。这意味着,就编译器而言,退出大括号后变量不再存在。第一次迭代时声明的变量oneCar在到达第二次迭代时不存在。它等同于写作:

{
    Car oneCar = new Car();
}
{
    Car oneCar = new Car();
}

这是完全合法的。

答案 1 :(得分:1)

是的,因为您要声明两次具有相同名称的相同变量。我想你可以解决你的问题,创建一个Carand数组,然后在for语句中为每个数组字段使用构造函数。

Car cars[10];
for(int i=0;i<9;i++){
    cars[i]= new Car();
}