欢迎来到天天文库
浏览记录
ID:46965493
大小:349.81 KB
页数:11页
时间:2019-12-01
《《对象的序列化》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、中科院计算所计算机职业技能培训中心杨少波trainict@sohu.comJAVA2程序设计培训课程对象的序列化含义:将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。为什么要提供序列化对象的寿命常随着生成该对象的程序的终止而终止。有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复以延续其状态。编程要求:只有实现Serializable接口的类对象才可以被序列化。Serializable接口没有定义任何成员,它只用来说明某个类可以被序列化。序列化的特点(1)如果某个类能够被序列化,其子类也可以被序列化
2、。(2)声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态,transient代表对象的临时数据。(3)相关的类和接口:ObjectOutput接口ObjectOutputStream类ObjectInput接口ObjectInputStream类ObjectOutput接口和ObjectOutputStream类(1)ObjectOutput接口:它继承DataOutput接口并且支持对象的序列化,其内的writeObject()方法实现存储一个对象。(2)ObjectOutput
3、Stream类:它继承OutputStream类并且实现ObjectOutput接口。利用该类来实现将对象存储(调用ObjectOutput接口中的writeObject()方法)。注意:(1)也可以利用ObjectOutputStream类的对象写入其它基本类型的数据值。(2)出错时将抛出IOException异常。FileOutputStreamfos=null;ObjectOutputStreamoos=null;FrameConfigconfigData=newFrameConfig(this);try{fos=new
4、FileOutputStream("config.dat");oos=newObjectOutputStream(fos);oos.writeObject(configData);oos.flush();fos.close();oos.close();}catch(IOExceptione){}对象保存的代码示例ObjectInput接口和ObjectInputStream类(1)ObjectInput接口:它继承DataInput接口并且支持对象的序列化,其内的readObject()方法实现读取一个对象。(2)Objec
5、tInputStream类:它继承InputStream类并且实现ObjectInput接口。利用该类来实现将对象存储(调用ObjectInput接口中的readObject()方法)。注意:(1)也可以利用ObjectInputStream类的对象读取其它基本类型的数据值。(2)出错时将抛出IOException异常。FrameConfigconfigData=null;try{FileInputStreamfis=newFileInputStream("config.dat");ObjectInputStreamoi
6、s=newObjectInputStream(fis);configData=(FrameConfig)ois.readObject();fis.close();ois.close();}catch(IOExceptione){}catch(ClassNotFoundExceptione){}读对象的代码示例对象的序列化应用实例用途:利用对象的序列化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。实例:JavaWord.Java本讲的回顾
此文档下载收益归作者所有