关闭程序后如何保存对象变量?

时间:2014-01-04 18:30:28

标签: java database variables exit

我正在尝试通过创建垄断银行家计划来学习Java和OOP。但是,我希望在退出程序后保存一些对象变量,这样在玩了一半的垄断游戏后,我可以退出程序,然后在保存所有玩家余额的情况下重新启动它。

我猜这需要某种数据库?

这是我的代码的一部分;我在退出程序后试图为所有对象(玩家)保存“balance”变量。

   public class Monopoly {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here
    //creates the users (name classes)
players player1 = new players();
players player2 = new players();
players player3 = new players();
players player4 = new players();



while (true)  {

player1.balance=player1.finalbalance;
player2.balance=player2.finalbalance;
player3.balance=player3.finalbalance;
player4.balance=player4.finalbalance;

4 个答案:

答案 0 :(得分:3)

我只是序列化这个对象并在你恢复游戏后反序列化它。我认为这是最好的方式。在这里你可以找到如何做到这一点的方式。 http://www.tutorialspoint.com/java/java_serialization.htm

答案 1 :(得分:1)

也许我并没有真正了解你的问题,但是如果你需要一个方法来在程序退出之前赶上退出(例如CTRL-C),你就可以使用“退出钩子”,也可以自由连接

Useful example of a shutdown hook in Java?

答案 2 :(得分:1)

虽然你当然可以使用数据库,但对于一个简单的离线游戏来说这将是一种过度杀伤力。在这种情况下,将游戏状态保存到文件(“存储游戏”)会更常见。

通过使用类ObjectOutputStream,您可以将对象写入文件。它将对象转换为一种格式,以后可以使用类ObjectInputStream读取。

答案 3 :(得分:0)

你必须将它保存到某个地方的文件中,这是在程序之间传递信息的唯一可靠方法。您需要确定保存文件的格式。查阅一些阅读/编写文件的教程,我相信它会有所帮助。