1.对象的序列化就是保存对象的当前状态。
2.保存对象的状态有两种主要的方式:
1) 对象序列化(将对象写入到文件,以后再反序列化,见后例)
如果保存的数据用于Java程序内交互,则采用对象的序列化;
2) 写入文件(将对象写入到文本文件,注意,是文本文件)
如果保存的数据用于和其他非Java程序交互,则保存到文本文件。
3.对象如果需要序列化,则它所在的类必须要实现Serializable接口。
如果某类是可序列化的,则它的子类自动地可以序列化。
4.对象序列化的步骤:
1) 创建文件输出流;
2) 创建对象输出流;
3) 写入对象状态;
4) 关闭对象输出流;
| 1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
对象写入文件的顺序为:

其中,ObjectOutputStream是把对象转换成字节流;FileOutputStream是把字节流写入文件。
5.序列化对象会把对象的所有属性保存,被对象的实例变量所引用的对象也会被序列化。
如果某实例变量不能或不应该被序列化,则把这个变量标记为transient。将属性标记为transient后,对象序列化时会将该属性保存为null值。
6.对象解序列化的步骤:
1) 创建文件输入流;
2) 创建对象输入流;
3) 读出对象状态;
4) 转换对象类型(因为对象读出后为Object类型);
5) 关闭对象输入流;
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
对象写出的顺序为:

本文介绍了Java对象序列化的过程,包括实现Serializable接口、序列化和反序列化的步骤,以及如何处理transient属性。同时讲解了对象写入和读出文件的细节,强调了使用BufferedReader和BufferedWriter提高文件读写效率。此外,提到了静态变量在序列化和反序列化过程中的行为特点。
最低0.47元/天 解锁文章
715

被折叠的 条评论
为什么被折叠?



