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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 明锦添 中级黑马   /  2013-3-19 22:37  /  2500 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一个类实现Serializable后有什么好处啊,发现在android中传递数据到另外一个activity时,传递对象的话,就得这样。为什么要实现Serializable,如果不实现,能传递到另外一个activity中吗

评分

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

查看全部评分

3 个回复

倒序浏览
不能吧 ,基础视频有讲的呀,Serializable 是个标记接口,继承了这个接口说明才能将该类对象持久化的存储  将对象存储为一个文件才能传递吧
回复 使用道具 举报
实现了Serializable 的类的对象才能序列化,否则你传过的字节不能反序列化,也就得不到你传过去的对象,只是一堆字节而已.嗯,我是这么理解的.
回复 使用道具 举报
一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。而实际上,Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。
好处:

a)比如说你的内存不够用了,那计算机就要将内存里面的一部分对象暂时的保存到硬盘中,等到要用的时候再读入到内存中,硬盘的那部分存储空间就是所谓的虚拟内存。在比如过你要将某个特定的对象保存到文件中,我隔几天在把它拿出来用,那么这时候就要实现Serializable接口;

b)在进行java的Socket编程的时候,你有时候可能要传输某一类的对象,那么也就要实现Serializable接口;最常见的你传输一个字符串,它是JDK里面的类,也实现了Serializable接口,所以可以在网络上传输。

c)如果要通过远程的方法调用(RMI)去调用一个远程对象的方法,如在计算机A中调用另一台计算机B的对象的方法,那么你需要通过JNDI服务获取计算机B目标对象的引用,将对象从B传送到A,就需要实现序列化接口。

评分

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

查看全部评分

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