2016-12-23 52 views
1

我想實現一個擴展BaseOperations的函數,如果我的類有一個不可序列化的成員,我會得到一個異常。爲什麼函數必須可序列化?是否可以使用該成員的Java瞬變?在我的功能中使用靜態成員可以嗎?爲什麼級聯BaseOperation可擴展可序列化?

回答

0

發佈這樣的問題時,請確切地分享您的代碼和錯誤。

當您將變量聲明爲transient時,該變量不適合持久化。所以你不能序列化它。靜態字段不用於表示對象的狀態。靜態字段表示類的狀態。如果你真的想序列化,那麼你可能需要開發自己的序列化器/解串器。

如果一個類有變量和方法來保存和修改狀態,那麼序列化它是很好的。如果變量值發生變化,則意味着它的狀態正在變化。 另請注意,BaseOperation類是一個抽象類,因此任何其他將BaseOperation作爲其父類的類都將自動進行序列化。