Java:重置程序中的所有值

时间:2009-04-28 14:14:55

标签: java

我正在制作这个节目,在游戏结束时我会询问用户是否想再次播放。如果他们说是,我需要开始一个新游戏。我做了一个restart()方法:

public void restart(){
    Game g = new Game();
    g.playGame();
}

但是,当我调用此方法时,我的程序中的某些值保持在上一个游戏中的值。

是否有游戏只是清除所有内容并使用所有默认值创建游戏的新实例?

3 个答案:

答案 0 :(得分:7)

如果没有更多信息,我猜你的问题很可能是你使用静态变量,其值将在给定类的所有实例中持续存在。如果将它们全部转换为成员变量并在构造函数中初始化它们,它应该可以工作。

答案 1 :(得分:1)

验证在Game构造函数中是否重置了那些未重置的值。他们可能不是。

这些值也是静态的吗?静态值不会被构造函数重置。

答案 2 :(得分:0)

你有静态变量吗?如果是的话,可能就是问题所在。为类的新实例维护静态变量的值。您可以尝试删除static修饰符,并确保初始化类构造函数中的所有变量。