1

我正在尝试修改以下全局定义的变量:

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 方法访问它。修改变量的最佳方法是什么?

4

2 回答 2

3

如果我没记错的话,玩家是一种属性而不是一种方法。并且访问静态属性必须通过他的班级名称

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;
    }
 });
 }
}
于 2012-04-26T17:20:06.853 回答
1

要访问正确的players变量,您需要在其正确的位置调用它,换句话说,无论它是在哪个类中定义的。

如果它在同一个班级,请致电this.players = 1. 如果它在另一个班级,你应该打电话给className.players = 1. 如果您的代码编译,则意味着您正在修改同一类中的局部变量或全局变量,而您需要的变量在另一个类中。

于 2012-04-26T17:27:22.200 回答