當一個類[說A]被序列化時,所有擴展A的子類都將被序列化。假設在類A被2000個類擴展的情況下,序列化對象由所有子類對象組成。通過覆蓋子類中的「private void writeObject」,我們完全消除了父對象被序列化。請確認。當擴展1000個子類時,類的序列化
感謝和問候, Subbu
當一個類[說A]被序列化時,所有擴展A的子類都將被序列化。假設在類A被2000個類擴展的情況下,序列化對象由所有子類對象組成。通過覆蓋子類中的「private void writeObject」,我們完全消除了父對象被序列化。請確認。當擴展1000個子類時,類的序列化
感謝和問候, Subbu
當一個類[發言權A]被序列所有這些延伸的 將被序列
否子類,類A
及其實例變量將被序列化,只要保持序列化的一般合同。
假設在A類擴展到2000年的場景的情況下類的序列化對象由所有子類對象組成。
類的序列化表示確實contain information about its supertypes。但不是它的子類。
通過覆蓋子類中的「private void writeObject」,我們可以完全消除父對象被序列化。 請確認。
不,重寫private void writeObject
不會阻止父對象被序列化。引用Javadoc:
writeObject方法是負責寫 對象的狀態針對其特定的類,以使相應的readObject 方法可將其還原。該方法不需要關注屬於該對象的超類或子類的狀態 。
當一個類[say A]被序列化時,所有繼承A的子類都將被序列化。
廢話。但是,如果A類是可序列化的所有派生類將是可串行化。
假設在A類擴展2000個類的情況下,序列化對象由所有子類對象組成。
更無意義的。但是,任何序列化的結果都包含序列化類和所有可串行化的類的數據。
號通過覆蓋子類中的「private void writeObject」,我們完全消除了父對象被序列化。
你看了對象序列化規範?它都在那裏。
當您嘗試此操作時發生了什麼?你期望它做什麼? –
爲什麼你想知道這一點 - 請不要告訴我你有一個1000或2000級的深層階級?! – Jesper
1000個小類,請告訴我這是一個誇大的例子 – Scorpion