序列化:
所谓的对象序列化指的是将内存中保存的对象以二进制数据流的形式进行处理,可以实现对象的保存或者是网络传输,
对象序列化是一个重要的概念,但是在开发之中对象序列化并不麻烦,因为序列化的时候用户只需要标注可序列化的对象,然后系统会帮助用户进行序列化;
但是并不是所有的对象都可以被序列化,在java中有一个强制的要求:
如果要序列化的类,都必须实现 java.io.Serializable父接口,作为序列化的标记。
Serializable接口中没有任何方法,因为它描述的是一种类的能力,在java中有两个描述类能力的接口,一个是Serializable,一个是cloneable。
可以被序列化的类:
import java.io.Serializable; @SuppressWarnings("serial") class Person implements Serializable{ // Serializable接口中没有任何方法,其作用是描述类的能力,和克隆接口一样 // 此时 Person类可以被序列化 // private static final long serialVersionUID = 1L; // 为了防止反序列化,一般会加上一个序列号,但是意义不大,因为可以选择@SuppressWarnings("serial")压制 private String name; int age; public Person(String name,int age){ this.age = age; this.name = name; } }
此时Person类产生的每一个对象都可以被序列化,实现二进制的数据传输。