而SerializationReadSample.java則是把剛剛序列化後的物件,讀回來的程式碼:
只要欲保存的類別有implement Serializable這個界面, 就可以拿來作序列化的動作.
當類別中有不想被序列化的field, 例如,socket, or thread等等的動態內容,
則可以在宣告變數的時候加上transient 這個關鍵字.
千萬不可序列化內部類別(inner class) , 無論是local或是匿名內部類別. 因為這麼做的話 ,
compiler會為內部類別產生合成的建構子. 因為合成的建構子 , 在source code找不到實作的細節
會隨著java compiler版本的不同, 而產生不同的建構子, 也就是說你在A版本編譯出來的code,
很可能在B版本跑不起來 , 造成相容性的問題 .
沒有留言:
張貼留言