A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 董波 中级黑马   /  2013-4-26 20:47  /  1632 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 董波 于 2013-5-2 12:33 编辑

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

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

6 个回复

倒序浏览
静态成员不属于对象,属于类级别的,所以不能序列化{:soso_e152:}

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
java冬冬 发表于 2013-4-26 21:30
静态成员不属于对象,属于类级别的,所以不能序列化

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

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
黑马-秦歌 发表于 2013-4-28 12:15
Serializable 只是给该类标记了一个记号。即如果我们要自己写代码保存对象到磁盘就要一个个属性写出去。然 ...

兄弟,我更迷乱了,你说的我都不知道怎么断句,看不懂啊。。:(
回复 使用道具 举报
说通俗一点一个javabean 实现Serializable接口后, 能够将该javabean对象直接存储到磁盘。 和从从磁盘中加载后就是一个对象
回复 使用道具 举报
黄玉昆 黑马帝 2013-4-30 23:41:47
7#
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马