關(guān)于父類沒有無參構(gòu)造函數(shù)的反序列化問題
有沒有發(fā)現(xiàn)一個問題,如果我們定義三個類Bar ?Bar1 ?Bar2,其中Bar2實現(xiàn)了serializable接口,Bar1沒有無參構(gòu)造函數(shù),那么在對Bar2進行反序列化的時候會拋出異常,請問這種情況應該怎么解決呀
有沒有發(fā)現(xiàn)一個問題,如果我們定義三個類Bar ?Bar1 ?Bar2,其中Bar2實現(xiàn)了serializable接口,Bar1沒有無參構(gòu)造函數(shù),那么在對Bar2進行反序列化的時候會拋出異常,請問這種情況應該怎么解決呀
2018-02-24
舉報
2018-03-02
我這里用你的沒有一點問題誒? 是不是main函數(shù)有問題
你把序列、反序列封裝成函數(shù),那我的main函數(shù)是這樣的:
ObjectOutputStream oos = new ObjectOutputStream(
? ? ? ? ? ? ? ? new FileOutputStream("demo/obj2.dat")
? ? ? ? );
? ? ? ? Bar2 bar2 = new Bar2();
? ? ? ? oos.writeObject(bar2);
? ? ? ? oos.flush();
? ? ? ? oos.close();
//? ? ? ? ObjectInputStream ois = new ObjectInputStream(
//? ? ? ? ? ? ? ? new FileInputStream("demo/obj2.dat")
//? ? ? ? );
//? ? ? ? Bar2 bar2 = (Bar2)ois.readObject();
//? ? ? ? System.out.println(bar2);
//? ? ? ? ois.close();
2018-03-02
2018-02-27
我試了一下沒有問題呀
需要注意的是,如果你修改了Bar1就需要重新序列化一次
不能直接進行反序列的吧?