我剛開始討論這個話題。我的理解是,如果你想保存一個類的實例變量,以便稍後可以使用...你可以使用「可序列化」接口,但沒有定義方法......但我懷疑,會發生什麼在繼承......假設我的超類沒有序列化wheras子類被序列化......我可以保存我的超類實例變量嗎? 雖然,我知道這個......超類的構造函數正在被調用,它會運行......但是dat的意思是什麼?是否意味着,我無法保存超類的實例變量....子類是可序列化的超類不可序列化
在下面的程序中...創建的文件將存儲數值(433)或只是變量「高度」和「重量「???
import java.io.*;
class A {
String sex;
public void gone(String sex){
this.sex = sex;
System.out.println("i m " + sex);
}
}
public class serialio1 extends A implements Serializable {
int height;
int weight;
public static void main(String[] args){
serialio1 myBox = new serialio1();
myBox.go(43,23);
try{
FileOutputStream fs = new FileOutputStream("foo.ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(myBox);
os.close();
FileInputStream fileStream = new FileInputStream("foo.ser");
ObjectInputStream ms = new ObjectInputStream(fileStream);
Object one = ms.readObject();
Object two = ms.readObject();
int h = (int) one;
int w = (int) two;
ms.close();
System.out.println("saved values" + h + w);
} catch(Exception ex){
ex.printStackTrace();
}
}
public void go(int height , int weight) {
this.height = height;
this.weight = weight;
System.out.println(" height is " + height);
System.out.println(" weight is " + weight);
}
}
[tag:javascript]標記已被刪除。我沒有看到你的問題與JavaScript有什麼關係。你可能會用Java來混淆它嗎?另外,請考慮格式化您的發佈代碼。所有左對齊的代碼都很難閱讀和理解。 –
可能重複的[java對象序列化和繼承](http://stackoverflow.com/questions/8632148/java-object-serialization-and-inheritance) –
而且我得到異常....我不知道ÿ? – user2985842