-4

如果B類擴展了A類,B類實現了Serializable,並且A類有一個不可序列化的公共靜態初始化變量......試圖使用writeObject()方法編寫一個類B的對象FileOutputStream,將序列化不可序列化從A繼承的成員將其寫入文件中,其餘的B類變量或它會拋出NotSerializableException子類是否序列化不可序列化的父類'成員?

+5

你爲什麼不試試? – shmosel

+3

爲什麼不檢查[documentation](https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html)? – shmosel

+0

舊金山人回答了你的問題。然後,您通過更改問題並使其無效,從地毯下拉出地毯。這是*不*我們如何在這裏滾動。 – Drew

回答

1

這是可行的,因爲靜態當您通過輸出流編寫對象時,不會保存字段。

documentation

的默認序列化機制的對象寫入類的 對象,類簽名,以及所有的非暫時性 和非靜態字段的值。對其他對象的引用( 瞬態或靜態字段除外)也會導致寫入這些對象。 對單個對象的多個引用使用引用 共享機制進行編碼,以便可以將對象的圖形恢復爲與原始寫入時相同的形狀。

+0

對不起,我的意思是非靜態..:S – Francisco

相關問題