动态类引用变量JAVA?

时间:2015-01-20 14:52:12

标签: java

我是java新手,还有很多需要学习的东西。我有嵌入式C编程经验,但对于面向对象编程却是全新的。

我得到以下内容,我需要了解。 在Java中创建类时,它是您要创建的对象的蓝图。并且说我有一个带有按钮的GUI,在我点击了创建新的自行车按钮后你创建了一个新的自行车,你输入了它在GUI等中要求的所有实例变量。

然后,当您单击完整按钮完成后,将创建一个对象。 使用GUI中提供的所有数据来适应蓝图。

所以在你的actionlistener中,当按下完整按钮时,一段代码就像 自行车自行车=新自行车(); 应该跑。但是自行车是静止的,你永远不会知道自行车的数量会有多少。那么如何使引用变量动态化或像动态一样呢?

抱歉,让我尝试用以下内容清除它。

public void actionPerformed(ActionEvent e) {
            Bicycle bike = new Bicycle();
    }

这是按下Jbutton时执行的动作。这将创建一个名为" bike"的对象。但是再次按下按钮会发生什么?它会覆盖以前的名为bike的对象吗?

您不知道用户按下按钮会创建多少个自行车类型的物体。所以我想知道是否可以通过以下方式使用类似数组的东西

String bike[] = {"bike1","bike2,"bike3"};
for(int i=0;i<3;i++){
    Bicycle bike[i] = new Bicycle();
}

或使用&#39;数组列表&#39;因为最终你不知道会创造多少个物体?

2 个答案:

答案 0 :(得分:1)

  

那么如何使引用变量动态化或像动态一样呢?

这是默认情况下引用的行为方式。他们没有任何静态。即使你使用static字段,它也不是静态的,因为C会理解它。它在加载类之前不存在,如果在不同的类加载器中加载类,它可以存在多次。如果卸载类加载器,它甚至可以消失。

如果你的字段不是static,那么如果它是一个局部变量则更具动态性。

答案 1 :(得分:0)

如果您想要一个可以保存对多个Bicycle个实例的引用的变量,您可以使用Collection,例如List

List<Bicycle> bikes = new ArrayList<Bicycle>();

然后,每次创建一个新的Bike实例时,都将它添加到List:

Bicycle bike = new Bicycle(); 
bikes.add (bike);