課程
/后端開發
/Java
/文件傳輸基礎——Java IO流
如圖所示
下面是老師寫的 上面是我寫的?
不是說實現了序列化接口的類的構造函數不會被調用嗎 ??
2018-06-05
源自:文件傳輸基礎——Java IO流 6-3
正在回答
問題原因:
//由于你的代碼多了下面這一行 Bar2?bar2?=?new?Bar2(); //新建一個Bar2對象。調用new方法時,程序會自動調用Bar2的構造方法 //你控制臺多出那一行bar2,就是這個Bar2的構造方法輸出的
解決方法:
//注釋掉或者直接刪除下面這行代碼可以得到和老師同樣的結果 //Bar2?bar2?=?new?Bar2(); //該程序是為了測試反序列化得到對象是否調用其構造方法 //因此重新新建一個Bar2的實體對象是完全沒有必要的,反而會混淆測試結果
yyz要學java 提問者
HungerCheung 回復 yyz要學java 提問者
yyz要學java 提問者 回復 HungerCheung
既然新建了一個Bar2的對象,執行構造方法時,為什么不依次輸出Bar Bar1 Bar2,而是只輸出了bar2呢?
這個還真沒有 如果同時進行的話好像會報錯的
你是不是同時進行序列化和反序列化?這樣是不行的,要先進行序列化時把反序列化注釋掉,進行反序列化時把序列化注釋掉。因為在序列化時會對子類進行實例化,然后會調用子類和父類的所有構造方法,在進行反序列化時如果不將序列化注釋掉你就分不清構造函數到底是實例化時打印的還是序列化接口類調用的,希望對你有幫助
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內容
2 回答這種方法會出現很多ffffff 是什么原因
2 回答怎么出現異常提示
1 回答最后拋出了個異常不知道是什么原因,運行結果是對的。求解
1 回答為什么會出現異常
3 回答出現異常找不到代碼
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-06-27
問題原因:
解決方法:
2020-12-16
既然新建了一個Bar2的對象,執行構造方法時,為什么不依次輸出Bar Bar1 Bar2,而是只輸出了bar2呢?
2018-06-10
這個還真沒有 如果同時進行的話好像會報錯的
2018-06-08
你是不是同時進行序列化和反序列化?這樣是不行的,要先進行序列化時把反序列化注釋掉,進行反序列化時把序列化注釋掉。因為在序列化時會對子類進行實例化,然后會調用子類和父類的所有構造方法,在進行反序列化時如果不將序列化注釋掉你就分不清構造函數到底是實例化時打印的還是序列化接口類調用的,希望對你有幫助