是否可以在一个 Java 程序/类中声明一个可序列化对象的实例,然后在另一个程序/类中完全重复内部对象的定义,并从数据文件中加载一个大的复杂对象?目标是能够为本地保存在我的构建机器上的项目编写编辑器,然后编写游戏本身并将其分发给想要玩游戏的人。
我正在用 Java 编写一个游戏作为一个业余爱好者项目。在我的游戏中,有一系列类扩展了父类 GameItem。物品可能属于不同的系列,如 HealingPotion、Bomb、KeyItem 等。
class GameItem implements Serializable {
String ItemName
String ImageResourceLocation
....}
我想要做的是包括如何在一个特定的项目系列中创建每个项目的定义,然后有一个名为 GameItemList 的大类,它包含在你玩游戏时可能出现的所有可能的项目。
class GameItemList implements Serializable {
LinkedList<GameItem>gameItemList;
//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.
谢谢大家,任何意见或帮助将不胜感激。