我目前在學習Java中的對象序列化,並且在我的理解中甚至可以序列化一個實現了Serializable接口的對象,並將它通過一個套接字傳遞給另一個程序。對象序列化查詢
class Mammal implements Serializable
{
int legs = 4;
}
public class ObjectSerial
{
public static void main(String[] args)
{
try
{
FileOutputStream fo = new FileOutputStream("mammal.obj");
ObjectOutputStream oo = new ObjectOutputStream(fo);
Mammal m = new Mammal();
oo.writeObject(m);
oo.close();
}
catch(IOException e){}
//read object
try
{
FileInputStream fi = new FileInputStream("mammal.obj");
ObjectInputStream oo = new ObjectInputStream(fi);
Mammal m = (Mammal)oo.readObject();
System.out.println(m.legs);
}
catch(IOException e){}
catch(ClassNotFoundException cnf){}//this exception must also be caught
}
}
令我百思不解的是,當我想檢索例如服務器端類的成員,我將如何「覆蓋面;序列化對象。
try
{
FileInputStream fi = new FileInputStream("mammal.obj");
ObjectInputStream oo = new ObjectInputStream(fi);
Mammal m = (Mammal)oo.readObject();
System.out.println(m.legs);
}
catch(IOException e){}
catch(ClassNotFoundException cnf){}//t
換句話說。在另一個程序中,編譯器會告訴我該符號無法找到。
希望這個問題聽起來不是很無知。 只是爲了確認......我如何在不同的程序中訪問Serializedobject的變量。
問候