1. 程式人生 > >java類實現序列化的方法

java類實現序列化的方法

bject 反序 都在 ava 我們 pri 密碼 輸入 tro

Java中實現序列化的兩種方式 Serializable 接口和 Externalizable接口

對象的序列化就是將對象寫入輸出流中。

反序列化就是從輸入流中將對象讀取出來。

用來實現序列化的類都在java.io包中,我們常用的類或接口有:

ObjectOutputStream:提供序列化對象並把其寫入流的方法

ObjectInputStream:讀取流並反序列化對象

Serializable:一個對象想要被序列化,那麽它的類就要實現 此接口,這個對象的所有屬性(包括private屬性、包括其引用的對象)都可以被序列化和反序列化來保存、傳遞。

Externalizable:他是Serializable

接口的子類,有時我們不希望序列化那麽多,可以使用這個接口,這個接口的writeExternal()和readExternal()方法可以指定序列化哪些屬性;

但是如果你只想隱藏一個屬性,比如用戶對象user的密碼pwd,如果使用Externalizable,並除了pwd之外的每個屬性都寫在writeExternal()方法裏,這樣顯得麻煩,可以使用Serializable接口,並在要隱藏的屬性pwd前面加上transient就可以實現了。

java類實現序列化的方法