課程
/后端開發
/Java
/文件傳輸基礎——Java IO流
一個類實現序列號的接口,這個私有化的readobject writeobject 方法 我還是不懂 他們到底怎么被調用的
2016-05-19
源自:文件傳輸基礎——Java IO流 6-2
正在回答
在序列化過程中,如果被序列化的類中定義了writeObject 和 readObject 方法,虛擬機會試圖調用對象類里的 writeObject 和 readObject 方法,進行用戶自定義的序列化和反序列化。
如果沒有這樣的方法,則默認調用是 ObjectOutputStream 的 defaultWriteObject 方法以及 ObjectInputStream 的 defaultReadObject 方法。
用戶自定義的 writeObject 和 readObject 方法可以允許用戶控制序列化的過程,比如可以在序列化的過程中動態改變序列化的數值。參考鏈接:http://www.hollischuang.com/archives/1140
如果需要序列化的類不僅實現了Serializable接口,而且定義了readObject(ObjectInputStream in)和 writeObject(ObjectOutputStream out)方法,那么將按照如下的方式進行序列化和反序列化:ObjectOutputStream會調用這個類的writeObject方法進行序列化,ObjectInputStream會調用相應的readObject方法進行反序列化。
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內容
5 回答在自行序列化的時,在自行序列化的類中重寫的方法writeObject和readObject方法是怎么被調用的,程序中也沒有用該類對象調用這兩個方法啊?具體的邏輯是怎樣的呢,是自行就被調用了嗎?
6 回答對于子類序列化接口,父類沒有實現序列化接口構造函數不會被調用有什么用?
1 回答子類對象反序列化時 為什么要調用沒有實現序列化接口的父類的構造方法?
2 回答父類實現序列化接口。。。
1 回答為什么序列化接口是標記接口但是還能實現序列化呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-05-21
在序列化過程中,如果被序列化的類中定義了writeObject 和 readObject 方法,虛擬機會試圖調用對象類里的 writeObject 和 readObject 方法,進行用戶自定義的序列化和反序列化。
如果沒有這樣的方法,則默認調用是 ObjectOutputStream 的 defaultWriteObject 方法以及 ObjectInputStream 的 defaultReadObject 方法。
用戶自定義的 writeObject 和 readObject 方法可以允許用戶控制序列化的過程,比如可以在序列化的過程中動態改變序列化的數值。參考鏈接:http://www.hollischuang.com/archives/1140
2016-05-20
如果需要序列化的類不僅實現了Serializable接口,而且定義了readObject(ObjectInputStream in)和 writeObject(ObjectOutputStream out)方法,那么將按照如下的方式進行序列化和反序列化:ObjectOutputStream會調用這個類的writeObject方法進行序列化,ObjectInputStream會調用相應的readObject方法進行反序列化。