利用序列化流将一个对象的整体转换为二进制的数据,并且存储到文件中,将对象永久性的存入一个文件,叫做系列化,读取的过程叫做反序列化

    对象是需要封装的,为了实现对象的序列化,我们要将对象实现一个序列化接口 - serializable
    这个接口中没有方法,就是一个规范,只要实现了这个接口,那么序列化的时候就不会出问题。

    序列化版本号:序列化ID(serialVersionUID),用于记录对象的类型
    每一个被序列化的操作对象操作其对象的ID与接收类型的ID必须一致。
    序列化的ID和反序列化的ID必须一致

    serialVersionUID:生成的标准的唯一性的码 - 唯一标准码
    image.png

    person类

    1. package Test21_Demo.Demo04;/*
    2. @create 2020--12--14--10:18
    3. */
    4. import java.io.Serializable;
    5. public class Person implements Serializable {
    6. private static final long serialVersionUID = -5779259024239172808L;
    7. //定义的普通表示码 - 普通版本码
    8. //private static final long SerialVersionUID = 1L;
    9. private String name;
    10. private int age;
    11. public Person() {
    12. }
    13. @Override
    14. public String toString() {
    15. return "Person{" +
    16. "name='" + name + '\'' +
    17. ", age=" + age +
    18. '}';
    19. }
    20. public String getName() {
    21. return name;
    22. }
    23. public void setName(String name) {
    24. this.name = name;
    25. }
    26. public int getAge() {
    27. return age;
    28. }
    29. public void setAge(int age) {
    30. this.age = age;
    31. }
    32. public Person(String name, int age) {
    33. super();
    34. this.name = name;
    35. this.age = age;
    36. }
    37. }