在自行序列化的時(shí),在自行序列化的類中重寫的方法writeObject和readObject方法是怎么被調(diào)用的,程序中也沒有用該類對(duì)象調(diào)用這兩個(gè)方法?。烤唧w的邏輯是怎樣的呢,是自行就被調(diào)用了嗎?
在自行序列化的時(shí),在自行序列化的類中重寫的方法writeObject和readObject方法是怎么被調(diào)用的,程序中也沒有用該類對(duì)象調(diào)用這兩個(gè)方法?。烤唧w的邏輯是怎樣的呢,是自行就被調(diào)用了嗎?
2017-09-26
方法括號(hào)里有 java.io.ObjectOutputStream s
2022-03-26
親~答案是沒有問題的哦~您可能對(duì)if...elseif...else的邏輯運(yùn)算沒有看清楚哦~可以仔細(xì)閱讀一下我們知識(shí)內(nèi)容部分的講解哦~這是自己慕課自己弄的編輯器,你到右側(cè)展示界面右鍵查看源文件就知道了,實(shí)際上是屬于嵌入式的,只是分成兩個(gè)文件了而已。
2018-12-14
隨隨便便就給別人最佳回答?你自己搞懂了?
因?yàn)檫@是規(guī)定:
在序列化過程中,如果被序列化的類中定義了writeObject 和 readObject 方法,虛擬機(jī)會(huì)試圖調(diào)用對(duì)象類里的 writeObject 和 readObject 方法,進(jìn)行用戶自定義的序列化和反序列化。
如果沒有這樣的方法,則默認(rèn)調(diào)用是 ObjectOutputStream 的 defaultWriteObject 方法以及 ObjectInputStream 的 defaultReadObject 方法。
用戶自定義的 writeObject 和 readObject 方法可以允許用戶控制序列化的過程,比如可以在序列化的過程中動(dòng)態(tài)改變序列化的數(shù)值。
具體看這篇文章:http://www.hollischuang.com/archives/1140
2017-10-29
在序列化的時(shí)候不是調(diào)用 oos(是ObjectOutputStream 類的對(duì)象) 對(duì)象的 writeObject(stu);方法嗎,然后把 Student 類的對(duì)象作為參數(shù)傳入,那么在Student類下 重寫的writeObject方法和readObject方法不應(yīng)該由Student 對(duì)象調(diào)用 才能達(dá)到里邊自行序列化的操作嗎,整體代碼中也沒有 用Student 對(duì)象進(jìn)行調(diào)用這兩個(gè)方法啊 ?只是用ObjectOutputStream 對(duì)象進(jìn)行序列化和反序列化 Student對(duì)象的操做了 ?我就是不明白這里 ?是怎么繞的 ?就讓Student 類下那兩個(gè)重寫的方法起到作用了... 感謝你給與的回答
2017-09-20
同問,我也想知道