Java 如何更改静态参数的值



我已经四处搜索了几分钟,却找不到与我相似的问题。万一这是以前问过的问题,我真的很抱歉,这是无意的。

我正在尝试更改作为参数传入的静态变量的值。所以有一个代码块:

public int check(int row, int column, char ch, Color color, int score) {
this.row = row;
this.column = column;
this.ch = ch;
this.color = color;
this.score = score;
flag = 0;
if (something){
do stuff
score++;
}
}

并且有这些静态变量被传递给int score

public static int player1Score;
public static int player2Score;

该方法应该通过事件处理程序调用,他们按下的按钮决定是将player1Score还是player2Score作为参数传递。如果它只是一个作为参数传递的变量,这会很容易,但此时它是两个或多个,除了制作重复的if语句并将它们分别作为player1Score++和playr2Score++之外,别无选择。

有35个if语句检查条件以进行score++,我只是想问是否有方法更改参数本身的值。

两个静态得分变量在不同的类中。

非常感谢您的帮助。

谢谢。

正如@isuru89所说,它是通过值传递的。

因为您在check方法中定义了基元类型int score,所以此变量存储在check方法的堆栈中。除非您返回,否则其他人不会看到此变量的任何更改。

有一篇很好的文章java内存模型可以参考。

最新更新