如果要想一个对象能够实现序列化操作,那么该对象只要实现Serializable接口就OK了,我们不必关心序列化的过程。只要实现了Serializable接口的类,该类的所有属性和方法都会自动实现序列化操作。
在实际开发过程中,如果只想让类的一些属性和方法才能够进行序列化操作,可以让类去实现Externalizable接口,该接口是Serializable的子接口。但是你必须实现readExternal和writeExternal方法,在这两个方法中实现具体属性的反序列化和序列化操作。所以需要编写额外的代码来进行具体属性的序列化。
java的transient关键字为我们提供了便利,你只需要实现Serializable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。
如: transient DriverManagerDataSource dmds;