只有实现了serialize()和Externalizable()接口的类的对象才能实现序列化。Externalizable()接口继承自serialize()接口,实现Externalize()接口的类需要通过自身来控制序列化行为,serialize()可以使用默认的序列化方式。
1.java.io.ObjectOutputStream
对象序列化包括如下两步:
a. 创建对象输出流,它可以包装一个其他类型的目标输出流,如文件输出流。
b. 使用创建的outputStream对象,该对象中的writeObject()方法能把对象写入输出流。
2.java.io.ObjectInputStream
对象反序列化包括如下两步:
a. 创建对象输入流,它可以包装一个其他类型的目标输入流,如文件输入流。
b. 使用创建的inputStream对象,该对象中的readObject()方法能把对象写入输出流。