java类实现序列化的方法

Posted Arvins

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java类实现序列化的方法相关的知识,希望对你有一定的参考价值。

Java中实现序列化的两种方式 Serializable 接口和 Externalizable接口

对象的序列化就是将对象写入输出流中。

反序列化就是从输入流中将对象读取出来。

用来实现序列化的类都在java.io包中,我们常用的类或接口有:

ObjectOutputStream:提供序列化对象并把其写入流的方法

ObjectInputStream:读取流并反序列化对象

Serializable:一个对象想要被序列化,那么它的类就要实现 此接口,这个对象的所有属性(包括private属性、包括其引用的对象)都可以被序列化和反序列化来保存、传递。

Externalizable:他是Serializable接口的子类,有时我们不希望序列化那么多,可以使用这个接口,这个接口的writeExternal()和readExternal()方法可以指定序列化哪些属性;

        但是如果你只想隐藏一个属性,比如用户对象user的密码pwd,如果使用Externalizable,并除了pwd之外的每个属性都写在writeExternal()方法里,这样显得麻烦,可以使用Serializable接口,并在要隐藏的属性pwd前面加上transient就可以实现了。

以上是关于java类实现序列化的方法的主要内容,如果未能解决你的问题,请参考以下文章

java中如何实现序列化,有啥意义

java.io.NotSerializableException

Java核心类库-IO-对象流(实现序列化与反序列化)

在java中啥叫做类的序列化

什么是序列化?如何实现序列化?

谁知道啥是Java序列化?如何实现序列化?