黑马程序员技术交流社区

标题: 关于Serializable?? [打印本页]

作者: 董波    时间: 2013-4-26 20:47
标题: 关于Serializable??
本帖最后由 董波 于 2013-5-2 12:33 编辑

今天学习了ObjectOutputStream、ObjectInputStream,说这两个流操作的类必须实现Serializable,不太明白的是:为什么静态成员变量不能被序列化??

作者: java冬冬    时间: 2013-4-26 21:30
静态成员不属于对象,属于类级别的,所以不能序列化{:soso_e152:}
作者: 董波    时间: 2013-4-28 11:30
java冬冬 发表于 2013-4-26 21:30
静态成员不属于对象,属于类级别的,所以不能序列化

不好意思,我对序列化这个东西不是太理解,追问一下:为什么属于类级别的不能序列化呢??
作者: 黑马-秦歌    时间: 2013-4-28 12:15
Serializable 只是给该类标记了一个记号。即如果我们要自己写代码保存对象到磁盘就要一个个属性写出去。然后读取回来时候又要一个个读取后 set 某个对象的某个属性为读取到的某个值。 然而实现Serializable 接口 既可以让系统帮我们实现 对象各个属性赋值。 直接写出到磁盘就是以对象写出。读取后直接就是一个对象。
静态成员变量属于一个方法的属性 不属于对象属性所以...
作者: 董波    时间: 2013-4-28 15:36
黑马-秦歌 发表于 2013-4-28 12:15
Serializable 只是给该类标记了一个记号。即如果我们要自己写代码保存对象到磁盘就要一个个属性写出去。然 ...

兄弟,我更迷乱了,你说的我都不知道怎么断句,看不懂啊。。:(
作者: 黑马-秦歌    时间: 2013-4-28 15:52
说通俗一点一个javabean 实现Serializable接口后, 能够将该javabean对象直接存储到磁盘。 和从从磁盘中加载后就是一个对象
作者: 黄玉昆    时间: 2013-4-30 23:41
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢




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