課程
/后端開發
/Java
/文件傳輸基礎——Java IO流
更想知道的是為什么沒有實現Serializable的父類Bar,在反序列化的過程中,構造函數會被調用。而不是僅僅知道這個現象。
2016-07-02
源自:文件傳輸基礎——Java IO流 6-3
正在回答
我說一下我的理解吧:說之前首先要說一下概念,序列化就是將對象轉換為字節序列,通俗點就是講創建出來的對象狀態保存起來(構造函數初始化之后的)
父類如果沒有實現序列接口,而子類實現序列接口,那么父類對象就不會被序列化,也就不會被保存,而子類卻可以被序列化,即保存
Java中構造一個對象,首先得先構造父類對象,才會構造子類對象,所以在反序列化子類時,就會調用父類構造方法來作為默認的父類對象,而子類因為已經被序列化了(已經調用過子類構造方法的狀態),所以就不會再調用子類自己的構造方法
bigfire 提問者
qq_我有我的范兒_0 回復 bigfire 提問者
序列化是什么意思,你只要知道了這個你就會知道問題的答案,我建議你自己研究,這樣記憶會更深刻,我提一下就是子類實現的時候會調用父類的構造函數,這個是基礎理論,知道了這個,序列化也不難理解了
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內容
6 回答對于子類序列化接口,父類沒有實現序列化接口構造函數不會被調用有什么用?
1 回答子類對象反序列化時 為什么要調用沒有實現序列化接口的父類的構造方法?
3 回答在主函數中是怎么實現子類調用父類的構造函數
3 回答關于父類沒有無參構造函數的反序列化問題
5 回答序列化中子父類中父類為什么不用實現序列化而不報異常呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-07-07
我說一下我的理解吧:說之前首先要說一下概念,序列化就是將對象轉換為字節序列,通俗點就是講創建出來的對象狀態保存起來(構造函數初始化之后的)
父類如果沒有實現序列接口,而子類實現序列接口,那么父類對象就不會被序列化,也就不會被保存,而子類卻可以被序列化,即保存
Java中構造一個對象,首先得先構造父類對象,才會構造子類對象,所以在反序列化子類時,就會調用父類構造方法來作為默認的父類對象,而子類因為已經被序列化了(已經調用過子類構造方法的狀態),所以就不會再調用子類自己的構造方法
2016-07-04
序列化是什么意思,你只要知道了這個你就會知道問題的答案,我建議你自己研究,這樣記憶會更深刻,我提一下就是子類實現的時候會調用父類的構造函數,這個是基礎理論,知道了這個,序列化也不難理解了