黑马程序员技术交流社区

标题: 对象的序列化和反序列化,总结! [打印本页]

作者: ㏒假™面具    时间: 2015-2-10 18:24
标题: 对象的序列化和反序列化,总结!
ObjectOutputStream                
                        序列化: 将对象持久化。
                                   序列化时, 静态字段是不写入文件中的。
                                   必须实现Serializable接口,强烈建议显示声明ID。
ObjectInputStream                           
                        反序列化: 将存储在本地文件中的对象取出。
                                前提: 1.需要对象的字节码文件
                                            2. .object 文件
Serializable接口: 序列化的对象所属的类必须实现此接口。
                                该接口给序列化对象所属的类分配一个ID, 如若不显示声明,会根据类的内容计算出一个默认的ID
                                强烈建议,需要序列化的对象的类中声明一个ID,这样就算类的属性有改变,也可以反序列化。

transient关键字: 如果类中的成员是非静态的,但是不想存储到本地文件中,需要用transient进行标识。

问题: 序列化对象时,类中的方法会保存到本地文件中吗?


作者: 瞿乐    时间: 2015-2-11 12:23
是不需要方法序列化到本地文件的呀,其实序列化就是按指定的规则写入了指定的值。
反序列化就是讲文件中的数值取出来,赋值给你new的对象的指定的属性。和类的方法是没关系的呀。
作者: ㏒假™面具    时间: 2015-2-11 16:57
瞿乐 发表于 2015-2-11 12:23
是不需要方法序列化到本地文件的呀,其实序列化就是按指定的规则写入了指定的值。
反序列化就是讲文件中的 ...

明白了谢谢~
作者: rehan    时间: 2015-2-13 10:02
不错,挺详细。。。。。。。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2