序列化: 可以将一个对象的所有属性以指定编码写入到一个文件中,或通过网络传给其他机器这个过程叫做序列化反序列化: 将存储到文件中的对象读取到内存中.
序列化和反序列化使用的类:
1.输出流:ObjectOutputStream:序列化;
构造方法:
public ObjectOutputStream(OutputStream out):
成员方法:
public final void writeObject(Object obj):
注意:需要被序列化的类,必须实现Serializable接口。这个接口是一个标识性的接口,没有抽象方法。
实现此接口的类,表示可以被序列化。
2.输入流:ObjectInputStream:反序列化;
构造方法:
ObjectInputStream(InputStream in) 创建从指定 InputStream 读取的 ObjectInputStream。
成员方法:
public final Object readObject():
注意:每个被序列化的类,都隐式的有一个属性:serialVersionUID,而且有一个默认值。
如果不手动添加serialVersionUID属性的化 系统会自动添加一个,系统添加的属性会随着更改类的结构而变化,变化后就不能反序列化了.
|
|