项目范围内重置所有变量的最佳方法是什么? ---(Java)

时间:2016-03-02 07:35:11

标签: java variables reset

我现在正打算制作一个游戏,我希望能够“重置”游戏。在应用程序启动时,使每个变量恢复为原始值。

有没有内置的方法来完成这项任务?我大约有20个类,还有几百个变量。我可以在每个类中创建一个reset()方法,然后在尝试重置时调用每个方法。

有没有比这更简单的方法?

2 个答案:

答案 0 :(得分:2)

我会这样做:对于每个类,初始化你想要做的所有实例变量" resettable"不是在构造函数中,而是在一个单独的方法(类似initializeVariables())中,然后从构造函数中调用它。像这样,您可以随时使用此方法重置所有变量。当然,你必须分别为每个班级做这件事。

答案 1 :(得分:0)

您可以利用您用Java编写游戏的优势。如果你想“重置”你的类,你可以像这样重新初始化它们

game.doSomething();
....
game = new Game();
然后,Java将使用旧游戏并将其传递给GC,所以基本上你将类构造函数设为reset()方法(为什么它不是?它是构造函数的工作)。您还应该重置使用Game生成的任何其他对象。关于它的巧妙之处在于,在修改游戏对象时,您不必“记住”默认值。

如果您的游戏使用系统资源(SQL连接,FileBuffers等),您当然需要在重置游戏之前关闭它们。在这种情况下,您可以在游戏中定义一个状态(没有视图),当用户重置游戏时将会访问该状态。

此“重置状态”将负责释放系统资源,并在用户完成后将用户转移到主菜单状态,您还可以利用此机会保存要保留的任何数据。