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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class User implements   Serializable {
        private static final long serialVersionUID = -236575787897890L;

        .........................
}

6 个回复

正序浏览
徐西宏 黑马帝 2011-9-28 12:29:43
7#
这里只是一个接口而已,就把它当做一个标识吧,实现了这个接口的就对这个对象进行序列化。
序列化一般是在进行网络传输时会被用到,一个类先序列化成一定格式,再传到远端的服务器或客户端,远端收到了然后又反序列化还原成类,你不用管是怎么序列化的,但是不实现这个接口的话这个类就会传不了
[ 本帖最后由 徐西宏 于 2011-09-28  12:34 编辑 ]

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-26 18:09:53
地板
serialVersionUID   用来表明类的不同版本间的兼容性。如果你修改了此类,   要修改此值。否则以前用老版本的类序列化的类恢复时会出错。为了在反序列化时,确保类版本的兼容性,最好在每个要序列化的类中加入private   static   final   long   serialVersionUID这个属性,具体数值自己定义
回复 使用道具 举报
黑马网友  发表于 2011-9-26 16:15:08
报纸
当使用IO流ObjectOutputStream和ObjectInputStream传对象时,此时的对象应实现Serializable接口

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1 要知道为什么!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-26 16:07:53
板凳
对     Serializable 只是一个标志而已,这个借口没有需要继承的方法!!可是同学告诉我他们培训的一般要用,要不偶尔会出错,反正我没遇见过。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1 还要多了解一下哦!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-26 15:55:51
藤椅
Serializable 这个接口是特殊的接口,没有任何需要继承的方法,被称为标志接口,也就是说,只是一个标志而已,如果你要序列化这个类的一个对象,就必须要实现这个接口,这样就能够序列化这个对象了,如果你没有自定义serialVersionUID ,那么只要你的class文件一修改,这个值就会变,这样的话,你序列化后的对象文件就不能用了,所以,自己定义完后就不会发生这种情况。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1 不错哦!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-26 15:50:56
沙发
将对象的序列化,Serializable英文名不就是序列化的意思么(^_~)程序在运行时产生的对象在程序结束后会消失,如果想把某些对象保存下来,在程序再次运行时读取这些对象就要将其Serializable了。
 

评分

参与人数 1技术分 +2 收起 理由
wangfayin + 2 回答的不错!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马