CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

谁讲 java.io.Serializable 这个接口,是什么是类的序列化 我搞不明白

楼主sjjday(小猫)2005-06-02 12:41:35 在 Java / J2SE / 基础类 提问

谁讲     java.io.Serializable   这个接口,是什么是糊的序列化   我搞不明白  
   
   
  实现   java.io.Serializable   接口的类是可序列化的。没有实现此接口的类将不能使它们的任一状态被序列化或逆序列化。序列化类的所有子类本身都是可序列化的。这个序列化接口没有任何方法和域,仅用于标识序列化的语意。    
   
  允许非序列化类的子类型序列化,子类型可以假定负责保存和恢复父类型的公有的、保护的和(如果可访问)包的域的状态。只要该类(扩展)有一个无参构造子,可初始化它的状态,那么子类型就可承担上述职责。在这种情况下申明一个可序列化的类是一个错误。此错误将在运行时被检测。  
  问题点数:50、回复次数:12Top

1 楼treeroot(旗鲁特)回复于 2005-06-02 12:45:09 得分 10

就是可以把对象存到字节流,然后可以恢复!Top

2 楼sjjday(小猫)回复于 2005-06-02 12:53:14 得分 0

那们高手,能不能列一个简单一的例子   讲一下,  
  知道概念     我还是不会用,Top

3 楼xinghe2004()回复于 2005-06-02 13:49:58 得分 0

我也遇到类似疑惑  
  帮你顶一下  
  一起学习!Top

4 楼sjjday(小猫)回复于 2005-06-03 10:47:37 得分 0

 
  那们高手,能不能列一个简单一的例子   讲一下,  
  知道概念   我还是不会用,Top

5 楼fog628(无名)回复于 2005-06-03 11:23:36 得分 10

Integer实现了Serializable,  
   
  所以可以把一个Integer的对象用IO写到文件里,  
   
  之后再可以从文件里读出,如你开始写入的时候  
   
  那个对象的intValue()   是5的话,那读出来之后也是5Top

6 楼sjjday(小猫)回复于 2005-06-03 20:08:34 得分 0

那么用序化类的作用。是用来传送类的对象。Top

7 楼yangbc(土豆块)回复于 2005-06-03 20:40:47 得分 10

序列化的是具体的实例,类序列化了有什么用,序列化一个抽象的概念是没有意义的,序列化的东西是为了便于传送供以后恢复成原状使用Top

8 楼Befiercer(Befiercer)回复于 2005-06-03 20:51:03 得分 10

网络上传的是只能是那种简单类型的数据,如果继承了这个接口,那么也可以象简单类型一样在网络上自由传了,我是这么理解的Top

9 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-06-03 21:17:30 得分 0

序列化,对于数据Top

10 楼lipeipei(lipei)回复于 2005-06-03 21:57:24 得分 10

所谓的Serializable,就是java提供的通用数据保存和读取的接口。  
  至于从什么地方读出来和保存到哪里去都被隐藏在函数参数的背后了。  
  这样子,任何类型只要实现了Serializable接口,就可以被保存到文件中,或者作为数据流通过网络发送到别的地方。也可以用管道来传输到系统的其他程序中。  
  这样子极大的简化了类的设计。只要设计一个保存一个读取功能就能解决上面说得所有问题。Top

11 楼sjjday(小猫)回复于 2005-06-04 01:28:10 得分 0

有一点感觉了,那位高手有时间搭把手,写一个完整简单的例子。  
  让我有更好的感觉   呵呵,差这一步了,这接口就理解的差不多了。呵呵Top

12 楼sjjday(小猫)回复于 2005-06-04 01:56:26 得分 0

好东东   与大家分享,  
  import   java.io.*;  
   
  import   java.util.*;  
   
   
   
  class   TestVector   implements   java.io.Serializable{  
   
                  private   Vector   vect=new   Vector();  
   
                   
   
                  public   void   add(Object   obj){  
   
                                  this.vect.add(obj);  
   
                  }  
   
                  public   void   print(){  
   
                                  System.out.println(this.vect);  
   
                  }  
   
                  public   static   void   main(String[]   args){  
   
                                  try   {  
   
                                                  /*   将对象写到一个文件里   */  
   
                                                  FileOutputStream   objfile   =   new   FileOutputStream("testvector.obj");  
   
                                                  /*   创建一个输出流   */  
   
                                                  ObjectOutputStream   p   =   new   ObjectOutputStream(objfile);  
   
                                                  /*   创建一个TestVector对象   */  
   
                                                  TestVector   tv   =new   TestVector();  
   
                                                  /*给Vector写入几String个对象*/  
   
                                                  tv.add("One");  
   
                                                  tv.add("Two");  
   
                                                  tv.add("Three");  
   
                                                  p.writeObject(tv);   //   把tv写入流  
   
                                                  p.flush();  
   
                                                  objfile.close();         //   关闭文件对象  
   
                                  }   catch   (Exception   e)   {  
   
                                                  e.printStackTrace();  
   
                                  }  
   
                  }  
   
  }Top

相关问题

  • JAVA序列化~!~!
  • 在java中如何序列化
  • java序列化问题(求救,高手在哪里)
  • 请教java在序列化时的中文问题?
  • 大家认为C#中序列化比Java简单吗?
  • 谁知道Bean中的序列化(implements Serializable)的用处,及如何用?
  • 高分求救,内部类实现序列化问题!~用[Serializable()] 但会报未找到反序列化的错误
  • c++序列化
  • 序列化!!!!
  • java 基本类型或可序列化类型,这里说的可序列化类型是什么意思???具体都有哪些类型??谢谢

关键词

  • 序列化
  • 接口
  • 文件
  • tv
  • vector
  • 网络
  • serializable
  • testvector
  • 类
  • 类型

得分解答快速导航

  • 帖主:sjjday
  • treeroot
  • fog628
  • yangbc
  • Befiercer
  • lipeipei

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo