首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于Serializable,为啥实现Serializable就能够实现序列化

2013-09-17 
关于Serializable,为什么实现Serializable就能够实现序列化本帖最后由 kolnick 于 2013-09-16 10:07:49 编

关于Serializable,为什么实现Serializable就能够实现序列化
本帖最后由 kolnick 于 2013-09-16 10:07:49 编辑 为什么实现Serializable接口就能实现序列号, 我查看Serializable接口的源码 里面并没有定义任何方法 
求指导
[解决办法]
它是个标识接口。
[解决办法]
序列化是历史遗留问题,也可以说是Java中设计瑕疵之一。

“为什么实现Serializable就能够实现序列化”

简单回答就是 ObjectInputStream 和 ObjectOutputStream 中的关键方法都会对要序列化的 Object 做检查,其类型必须是 Serializable。

正确的序列化设计要做的工作绝对不仅仅是加个 implements Serializable 这么简单。
[解决办法]
序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

热点排行