java類實現序列化的方法
阿新 • • 發佈:2018-03-04
bject 反序 都在 ava 我們 pri 密碼 輸入 tro 接口的子類,有時我們不希望序列化那麽多,可以使用這個接口,這個接口的writeExternal()和readExternal()方法可以指定序列化哪些屬性;
Java中實現序列化的兩種方式 Serializable 接口和 Externalizable接口
對象的序列化就是將對象寫入輸出流中。
反序列化就是從輸入流中將對象讀取出來。
用來實現序列化的類都在java.io包中,我們常用的類或接口有:
ObjectOutputStream:提供序列化對象並把其寫入流的方法
ObjectInputStream:讀取流並反序列化對象
Serializable:一個對象想要被序列化,那麽它的類就要實現 此接口,這個對象的所有屬性(包括private屬性、包括其引用的對象)都可以被序列化和反序列化來保存、傳遞。
Externalizable:他是Serializable
但是如果你只想隱藏一個屬性,比如用戶對象user的密碼pwd,如果使用Externalizable,並除了pwd之外的每個屬性都寫在writeExternal()方法裏,這樣顯得麻煩,可以使用Serializable接口,並在要隱藏的屬性pwd前面加上transient就可以實現了。
java類實現序列化的方法