[20分高效结贴]关于Serializable序列化的疑惑

blackfacewa 2012-09-11 08:55:07
在网上看到有人说
=========================Part A=================================
1.序列化即是把对象写到流里面的过程;
ByteArrayOutputStream baos = new ByteArrayOutputStream();//字节输出流内存中
ObjectOutputStream oos = new ObjectOutputStream(baos);//序列化字节流
oos.writeObject(this);
2.反序列化即是把对象从流中读取出来的过程;
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());//字节输入流内存中
ObjectInputStream ois = new ObjectInputStream(bais);//序列化字节流
ois.readObject();//反序列化
=======================End part A==============================
前提:

=======================Part B==================================
class A implements Serializable
{
//该变量时为了反序列化时候防止之前对象中的域发生过改变而导致异常
private static final long serialVersionUID = 3969438177161438988L;
};
=======================End Part B================================

疑问:
如果在代码中没有实现Part A部分,只有Part B部分那么还能称之为序列化了吗?
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackfacewa 2012-09-11
  • 打赏
  • 举报
回复
3ks!结贴
beiouwolf 2012-09-11
  • 打赏
  • 举报
回复
你没搞明白什么是序列化...
序列化是把类信息"序列"为字节数据,写到永久存储器上的动作

所以你说的,只有PART B,哪来的序列化那
一个类implements Serializable仅仅是说明,这个类可以被序列化,反之,没有Serializable申明的是不能序列化的(继承的Serializable也可以)
Serializable接口你可以看下源代码,这个接口不实现任何东西,是一个空白的接口,仅仅用来做标识

ObjectStream用来读写序列化文件

简单的说,游戏玩过吗?
游戏进度需要自己保存下来,下次玩的时候可以LOAD,不然的话一关机进度就木有了
SAVE/LOAD就是一种序列化
blackfacewa 2012-09-11
  • 打赏
  • 举报
回复
楼上能详细点不?
Cactus_hxk 2012-09-11
  • 打赏
  • 举报
回复
可以吧!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧