是否有可能在一个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.感谢球员,任何意见或帮助将不胜感激。