更新计数器值的问题

时间:2010-05-03 13:18:53

标签: java

我有更新计数器的问题(整数值)。 这是班级的定义:

public class Item_Actions 
{
    private final int MAX_ITEMS = 100;
    private Item myItem[];
    private int counter;

    public Item_Actions()
    {
        myItem  = new Item[MAX_ITEMS];
        counter++;      
    }

    //Constructor add item into the menu (Description, type & price of Item)

    public void addItem(Item itm)
    {
        myItem[counter] = itm;
        counter++;
    }.......

现在,每当我从另一个类调用addItem构造函数时,计数器始终保持为零。 导致它的原因以及如何在里面保存数据?

感谢

2 个答案:

答案 0 :(得分:3)

只需在声明变量static之前插入counter关键字。那是

 private static int counter=0;

答案 1 :(得分:2)

计数器应为static - 您希望限制实例化的数量,因此计数器不应该是实例变量。相反,它应该是“全球性的” - 即static。 您的数组也应该是static

您可以使用ArrayList

,而不是使用计数器和数组

所有人都说,避免使用static字段 - 而是在其他代码中查找问题。