我正在尝试修改以下全局定义的变量:
static int players;
来自以下方法:
public static void selectPlayers() {
JButton player1 = new JButton("1 Player");
player1.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent arg0) {
players = 1;
}
});
}
这对变量没有影响。变量是全局的,因此可以从main方法访问它。修改变量的最佳方法是什么?
答案 0 :(得分:3)
如果我没错,玩家属性不是方法。访问静态attribut必须通过他的班级名称
public Class1{
static int players;
public static void selectPlayers() {
JButton player1 = new JButton("1 Player");
player1.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent arg0) {
Class1.players = 1;
}
});
}
}
答案 1 :(得分:1)
要访问正确的players
变量,您需要在适当的位置调用它,换句话说,无论在哪个类中定义它。
如果它在同一个班级,请致电this.players = 1
。如果是在另一个班级,您应该拨打className.players = 1
。如果您的代码编译,则意味着您要修改同一类中的局部变量或全局变量,而您需要的是另一个。