试图在每次使用类对象时递增1,但计数保持不变(JAVA)

试图在每次使用类对象时递增1,但计数保持不变(JAVA),java,object,Java,Object,我必须创建一个程序来创建拼字块。我没有问题创建字母和值,但我需要每个磁贴都有一个id号,这就是问题所在。对于我的类对象,我有: char tile; int value; private static int ID = 0; //Default Constructor public STile() { this.tile = '?'; this.value = 0; STile.ID++; } //Constructor with parameters. publ

我必须创建一个程序来创建拼字块。我没有问题创建字母和值,但我需要每个磁贴都有一个id号,这就是问题所在。对于我的类对象,我有:

char tile;
int value; 
private static int ID = 0;

//Default Constructor
public STile() {
    this.tile = '?';
    this.value = 0;
    STile.ID++;
}

//Constructor with parameters. 
public STile(char tile, int value) {
    this.tile = tile;
    this.value = value;
    STile.ID++;
}
我的收获是:

public static int getID() {
    return STile.ID;
}
瓷砖创建得很好,但每个瓷砖的ID都是26(创建瓷砖的for循环运行了26次)。所以每个字母都应该是不同的数字1-26。我尝试将一个变量设置为等于STile.ID,但这似乎也不起作用,所以我又回到了上面的状态

编辑:

所以我试着把它设置成一个变量,结果成功了

public LTile(){
    this.tile = '?';
    this.value = 0;
    count = LTile.ID;
    LTile.ID += 1;
}
public LTile(char tile, int value){
    this.tile = tile;
    this.value = value;
    count = LTile.ID;
    LTile.ID += 1;

可能有两个ID值,一个是静态的,一个不是,然后在增加该静态ID后,将对象ID设置为等于该静态ID。

可能有两个ID值,一个是静态的,一个不是,然后在增加该静态ID后,将对象ID设置为静态ID。

我尝试将一个变量设置为STile.ID,但这似乎也不起作用-发布该尝试。为什么每个磁贴都需要一个单独的
ID
?这只是我得到的参数。就我个人而言,我看不出这有什么意义。好吧,我只是通过尝试将它设置为一个变量来实现它。我似乎无法将代码格式化,因此我将编辑原始代码。为了记录在案,您仍然可以合并您的两个语句,无论是好是坏:
count=LTile.ID++
我尝试设置一个等于STile.ID的变量,但这似乎也不起作用-发布该尝试。为什么每个磁贴都需要一个单独的
ID
?这只是我给出的参数。就我个人而言,我看不出这有什么意义。好吧,我只是通过尝试将它设置为一个变量来实现它。我似乎无法将代码格式化,因此我将编辑原始代码。为了记录在案,您仍然可以将两个语句组合在一起,无论是好是坏:
count=LTile.ID++
,实际上就是这样做的。我以前试过,但一定是弄糟了。静态意味着只有一个变量,所以所有的值都是相同的。@ USER 769402考虑接受答案作为解决方案?实际上是这样做的。我以前试过,但一定是弄糟了。静态意味着只有一个变量,所以所有的值都是相同的。@ USER 769402考虑接受答案作为解决方案吗?