我正在Java to save objects state using Serializable
通过以下代码尝试简单的程序,一旦我编写了这些对象,然后将它们设置为 null 但是when i try to get them back it gives me null values
,它不应该给我存储的值吗? when i run this program answer is null null null
,请查看并指导我,
游戏.java
public class Game implements Serializable{
public Game() {
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public String getType() {
return Type;
}
public void setType(String type) {
Type = type;
}
public String[] getName() {
return name;
}
public void setName(String[] name) {
this.name = name;
}
int size;
String Type ;
String [] name;
public Game (int thesize , String theType, String[] names )
{
this.size = thesize;
this.Type= theType;
this.name = names;
}
}
游戏角色.java
public class GameCharacter extends Game {
public GameCharacter(int i, String Type, String[] strings) {
// TODO Auto-generated constructor stub
}
/**
* @param args
* @throws IOException
* @throws FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException, IOException {
Game g= new Game();
GameCharacter GC1= new GameCharacter(1, "One " , new String [] {"bow", "SWord", "Dust"});
GameCharacter GC2 = new GameCharacter(2, "TWo", new String[] {"One ", "TWo ", "Three"});
GameCharacter GC3= new GameCharacter(3, "Three", new String[] {"four ", "five ", "six"});
ObjectOutputStream oos= new ObjectOutputStream (new FileOutputStream("Game.ser"));
oos.writeObject(GC1);
oos.writeObject(GC2);
oos.writeObject(GC3);
oos.close();
GC1= null;
GC2= null;
GC3= null;
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("Game.ser"));
try
{
GameCharacter onerestore= (GameCharacter) ois.readObject();
GameCharacter tworestore = (GameCharacter) ois.readObject();
GameCharacter threerestore= (GameCharacter) ois.readObject();
System.out.print(onerestore.getName());
System.out.println(tworestore.getType());
System.out.println(threerestore.getName());
//System.out.println("HEllo");
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
}