官网文档:https://docs.oracle.com/javase/tutorial/jndi/objects/serial.html
优秀博客:
http://www.cnblogs.com/gw811/archive/2012/10/10/2718331.html
http://www.cnblogs.com/vicenteforever/articles/1471775.html
接口代码:
package java.io; public interface Serializable { }
概念:序列化就是将一个对象转化成字节流,并且也能从字节流转化成原来对象的一个复本。
注:一个对象序列化后,它的所有子类对象也将自动序列化。
当一个类声明要实现Serializable接口时,只是表明该类参加串行化协议,而不需要实现任何特殊的方法。
要想序列化对象,必须先创建一个OutputStream,然后把它嵌进ObjectOutputStream。这时,就可以用writeObject()方法把对象写入OutputStream了。
writeObject()方法负责写入特定类的对象的状态,以便相应的 readObject()方法可以还原它。通过调用 out.defaultWriteObject 可以调用保存 Object 的字段的默认机制。该方法本身不需要涉及属于其超类或子类的状态。状态是通过使用 writeObject 方法或使用 DataOutput 支持的用于基本数据类型的方法将各个字段写入 ObjectOutputStream 来保存的。