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