开发者学堂课程【【名师课堂】Java 高级开发:【第 13 个代码模型】对象序列(序列化基本概念)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/372/detail/4620
【第 13 个代码模型】对象序列(序列化基本概念)
所有的项目开发一定都有序列化的概念存在。
序列化基本实现
所谓的对象序列化指的是将在内存中保存的对象变为二进制数据的形式进行传输,或者是将其存在文本中。
但是并不意味着所有类的对象都可以被序列化,严格来讲,需要被序列的类对象往往需要传输使用,同时这个类必须实现
java.io,Serializable 接口。但是这个接口并没有任何的方法定义,所以只是一个标识接口。
范例:定义可以被序列化对象的类
例如
import java.io. Serializable;
class Person implements Serializable f
/**
*
*/
private static
final long serialVersionUID = 1L;
}
如果在类中加两个属性,如下面
@SuppressWarnings("serial")
class Person implements Serializable
{
private String name ;
private int
age ;
public Person(String name, int age)
{
super();
this. name =name ;
this.age = age;
}
@Override
public String toString()
{
return "Person[ name=
“
+ name +
”,
age=
“
+age+"]":
}
}
序列化的本质是使类中的属性为我们所用。
序列化的最终结果是保存属性。
序列化对象时所需要保存就是对象中的属性,所以默认情况下对象的属性将被转为二进制数据流存在。