java 序列化 传输_Java序列化对象的传输

是否有可能在一个Java程序/类中声明一个可序列化对象的实例,然后在不同的程序/类中完全重复内部对象的定义,并从数据文件加载大型复杂对象?我们的目标是能够编写一个编辑器,用于保存本地构建机器上的项目,然后编写游戏本身并将其分发给想玩游戏的人。

作为爱好者项目,我正在用Java编写游戏。在我的游戏中,有一系列扩展父类GameItem的类。物品可能会在HealingPotion,Bomb,KeyItem等不同家族中出现。

class GameItem implements Serializable {

String ItemName

String ImageResourceLocation

....}我想要做的是包含如何在特别的一系列项目中创建每个项目的定义,但是随后会有一个名为GameItemList的大类,其中包含您在玩游戏时可能发生的所有可能项目。

class GameItemList implements Serializable {

LinkedListgameItemList;

//methods here like LookUpByName, LookUpByIndex that return references to an item

}也许在某个时候 - 当玩家开始新游戏时,或者在游戏启动时,请执行以下操作:

//create itemList

FileInputStream fileIn = new FileInputStream("items.dat");

ObjectInputStream in = new ObjectInputStream(fileIn);

GameItemList allItems = (GameItemList)in.readObject();

in.close();

//Now I have an object called allItems that can be used for lookups.感谢球员,任何意见或帮助将不胜感激。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值