亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用接口中的默認方法序列化 (BWC)

使用接口中的默認方法序列化 (BWC)

皈依舞 2021-05-31 13:00:07
我有一個接口A,以及這個接口AImpl 的實現接口有 1 個在AImpl 中實現的方法。實現AImpl 的成員很少,也沒有 serialVersionUID。問題 如果新的默認方法將添加到接口A 中,而不在AImpl 中覆蓋它,會發生什么?我真的在這里休息了嗎?我會得到相同的序列化/反序列化結果嗎?
查看完整描述

1 回答

?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

不僅方法沒有序列化,接口也沒有序列化。

序列化的目的是寫入與對象關聯的數據,而不是它的行為(除非這也被明確編碼為數據,例如 GregorianCalendar 的 TimeZone)

無法在序列化對象中查看類具有哪些接口或方法,因此更改它們無效。

(您可能會推斷出僅用于序列化的方法)

Java 序列化確實對類的超類層次結構進行了編碼,因此您無法輕易更改。

但是,大多數序列化庫不會這樣做,您看不到這些信息,更改它們也無關緊要。缺點是許多序列化庫不支持在類層次結構中多次使用相同的字段名稱,但 Java 序列化支持。


查看完整回答
反對 回復 2021-06-02
  • 1 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號