将静态值复制到非静态实例

时间:2018-12-21 14:21:17

标签: java static copy instance

我想创建一个用于跟踪类实例的系统。我想通过使用静态变量来跟踪先前实例的数量,然后将与该实例相同的int设置为ID来实现此目的。

我当前遇到的问题是出现此错误:“无法对非静态字段ID进行静态引用” 当我尝试将值从静态int复制到实例int时,会发生这种情况。

public class MyClass
{
    public static int idCount = 0;
    public int id;

    public MyClass()
    {
        id = idCount;
        idCount++;
    }
}

主要是我这样做,以便对象可以在数组中标识自己。如果这不是正确的方法,那么有人将我指向正确的方向会很有帮助。

1 个答案:

答案 0 :(得分:-1)

您可以做到这一点:

public class MyClass
{
public static int idCount = 0;
public int id;

public MyClass()
{
    id = idCount;
    MyClass.addCount();
}

static void addCount(){
   idCount++;
}

 static int getCount(){
   return idCount;
}
}