Java 进阶P-8.15
对象串行化
-
ObjectInputStream类
-
readObject()
-
ObjectOutputStream类
-
writeObject()
-
Serializable接口
对象的寿命通常随着生成该对象的程序的终止而终止。有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复。我们把对象的这种能记录自己的状态以便将来再生的能力。叫作对象的持续性(persistence)。
对象通过写出描述自己状态的数值来记录自己,这个过程叫对象的串行化(Serialization)。也就是说能够将对象进行存档。
串行化的主要任务是写出对象实例变量的数值。如果变量是另一对象的引用,则引用的对象也要串行化。
串行化可以使得对象成为永久性,对象在创建它的程序外仍能够存在和起作用,被存储的对象中包含了可在程序中恢复的信息。
package SerializableDemo; import java.io.Serializable; public class serializableDemo { public static void main(String[] args) { } } class Hero implements Serializable{ /** * 这是一个可串行化的对象 */ //是自动生成的唯一标识 private static final long serialVersionUID = 1L; //对象属性 private String nickName; private transient String password;//该变量为暂存变量,不被串行化。 int level; //构造函数 public Hero(){ } public Hero(String nickName,String password,int level){ this.nickName = nickName; this.password = password; this.level=level; } //setter和getter public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getLevel() { return level; } public void setLevel(int level) { this.level = level; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)