序列化-Serializable

发布时间 2023-08-02 11:00:46作者: wrhiuo

Serializable 是 Java 中的一个接口,用于标识类的实例可以被序列化。

序列化是将对象的状态转换为字节流的过程,可以将对象写入文件、传输到网络或存储在内存中。被序列化的对象可以在不同的 Java 虚拟机之间进行传输或保存,也可以在同一个虚拟机的不同时间点进行持久化存储和恢复。

当一个类实现了 Serializable 接口时,表示该类的实例可以被序列化。序列化框架(例如 Java 的对象流框架)在序列化过程中会检查类是否实现了 Serializable 接口,如果实现了,则可以安全地将对象转换为字节流进行传输或存储。

在实现 Serializable 接口的类中,通常不需要添加任何方法,因为它只是一个标记接口。Java 序列化框架会自动处理对象的序列化和反序列化过程。

示例:

import java.io.Serializable;

public class Person implements Serializable {
    private String name;
    private int age;

    // 构造函数、getter和setter等其他方法

    // ...
}

在上面的例子中,Person 类实现了 Serializable 接口,这意味着 Person 类的实例可以被序列化。当需要将 Person 对象转换为字节流进行传输或存储时,可以使用 Java 序列化框架来处理。例如,可以使用对象流将 Person 对象写入文件或通过网络进行传输,并在需要时从字节流中反序列化出 Person 对象。