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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 程明 黑马帝   /  2011-11-26 15:54  /  2233 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

可以详细介绍一下Serializable 接口的作用吗

5 个回复

倒序浏览
冯敏 黑马帝 2011-11-26 16:10:19
沙发
序列化就是将对象转成字节并保存在硬盘的操作,因为一般对象是不能保存的,只有实现了java.io.Serializable 接口的类的对象才可以序列化,这个接口中并没有任何方法,此接口只是一个标识接口,只是标识其实现类具备了某种能力。
回复 使用道具 举报
本帖最后由 常文艺 于 2011-11-26 16:17 编辑

视频里讲的是一个对象(如Sdudent)要想通过流(ObjectOutputStream("abc.txt"))存入文件("abc.txt")就要将其序列化,所以这个对象要实现Serializable 序列化接口。
回复 使用道具 举报
对象序列化的接口,没有方法,只是作为一个标记。被序列化的对象可以写在硬盘的文件中(使用ObjectOutputStream的writeObject方法)。也可以读出来该对象(用ObjectInputStream的readObject方法)。
回复 使用道具 举报
强子 黑马帝 2011-11-26 17:24:45
报纸
ObjectInputStream与ObjectOutputStream
对象的持久化存储(序列化)
被操作的对象需要实现Serializable
功能是让流与对象相结合
除了继承自OutputStream外还有
writeInt(int val)写入一个32位的int值
writeObject(Object obj)将指定的对象写入OutputStream
Serializable接口,实现它启动序列化
接口内没有方法 为标记接口
序列号是根据类中成员生成的
static final long serialVersionUID = 42L;
序列化的UID可以自己定义
静态是不能被序列化的
只能序列化堆中内容
如果非静态成员不想进行序列化加修饰符transient
transient int age;
保证其值在堆内存中存在
回复 使用道具 举报
用几句最简便的话说就是:
在Java中java.io.Serializable 用于实现对象的序列化而开发的接口。
java.io.Serializable接口是一个没有任何方法和属性的接口只提供一个标示的作用。
所有要序列化的对象都要实现Serializable接口。

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