Serializable接口 注释

/*
*版权所有© 1996,2013, Oracle和/或其关联公司。保留所有权利。

  • ORACLE专有/保密。使用受许可条款约束。
  • /

java包;

/ * *
类的可序列化性是由实现

  • . io .Serializable接口。不实现这个的类
    接口将不会序列化它们的任何状态
    *反序列化。可序列化类的所有子类型都是它们自己
    *可序列化的。序列化接口没有方法或字段
    和只用于标识可序列化的语义。< p >

*允许非序列化类的子类型被序列化
*子类型可负责保存和恢复
*超类型的public、protected和(如果可访问)的状态
*包装领域。子类型只能在以下情况下承担此责任
它扩展的类有一个可访问的无参数构造函数
初始化类的状态。声明类是错误的
*可序列化,如果不是这样。错误将被检测到
*运行时。< p >
*
*在反序列化期间,非序列化类的字段将
使用的public或protected无参数构造函数初始化
*类。无参数构造函数必须能被子类访问
*这是可序列化的。可序列化子类的字段将
从流中恢复。< p >
*
*当遍历一个图形时,可能会遇到一个不存在的对象
*支持序列化接口。在这种情况下
*抛出NotSerializableException并识别类
*的非序列化对象。< p >
*
*在序列化过程中需要特殊处理的类
*反序列化过程必须实现特殊的方法与这些精确
*签名:
*

  • <前>
    *私有void writeObject(java.io。ObjectOutputStream)
    *抛出IOException
  • private void readObject(java.io.)ObjectInputStream)
    *抛出IOException, ClassNotFoundException;
  • private void readObjectNoData()
  • ObjectStreamException扔;
  • < / PRE >
  • writeObject方法负责写入对象的状态
    对象为其特定的类,以便相应的
  • readObject方法可以恢复它。默认的保存机制
    对象的字段可以通过调用调用
  • out.defaultWriteObject。方法不需要关心
    自身,状态属于超类或子类。
    状态通过将单个字段写入
  • ObjectOutputStream使用writeObject方法或通过使用
  • DataOutput支持的基本数据类型的方法。

readObject方法负责从流中读取数据
恢复类字段。它可以调用in。defaultreadobject来调用
*恢复对象的非静态和默认机制
*非暂时性字段。defaultReadObject方法在
属性指定保存在流中的对象的字段
*当前对象中相应命名的字段。这就处理了这个问题
*当类进化到添加新字段时。这个方法不需要
关注属于超类或子类的状态。
状态通过将单个字段写入

  • ObjectOutputStream使用writeObject方法或通过使用
  • DataOutput支持的基本数据类型的方法。

readObjectNoData方法负责初始化
*对象为其特定类在事件中序列化

  • stream没有将给定的类列为对象的超类
    *反序列化。这可能发生在接收方使用
    *反序列化的实例的类与发送的不同
    接收者的版本扩展了未被扩展的类
    *发送者的版本。如果序列化流具有
    *被修改;因此,readObjectNoData对于初始化很有用
    *正确地反序列化对象,尽管“敌对”或不完整的来源
    *流。
  • <p需要指定替代对象的可序列化类
    *在向流写入对象时使用的应该实现这个
    *具体签名的特殊方法:
  • <前>
    *任何访问修饰符对象writeReplace()抛出ObjectStreamException;
  • < / PRE > < p >

这个writeReplace方法是通过序列化调用的
方法中定义的方法可以访问
被序列化对象的类。因此,方法可以有private,
*保护和包私有访问。子类访问此方法
*遵循java可访问性规则。< p >
*
*类需要指定替换时,它的实例
*是从流中读取的,应该实现这个特殊的方法

  • e/*
    *版权所有© 1996,2013, Oracle和/或其关联公司。保留所有权利。
  • ORACLE专有/保密。使用受许可条款约束。
  • /

java包;

/ * *
类的可序列化性是由实现

  • . io .Serializable接口。不实现这个的类
    接口将不会序列化它们的任何状态
    *反序列化。可序列化类的所有子类型都是它们自己
    *可序列化的。序列化接口没有方法或字段
    和只用于标识可序列化的语义。< p >

*允许非序列化类的子类型被序列化
*子类型可负责保存和恢复
*超类型的public、protected和(如果可访问)的状态
*包装领域。子类型只能在以下情况下承担此责任
它扩展的类有一个可访问的无参数构造函数
初始化类的状态。声明类是错误的
*可序列化,如果不是这样。错误将被检测到
*运行时。< p >
*
*在反序列化期间,非序列化类的字段将
使用的public或protected无参数构造函数初始化
*类。无参数构造函数必须能被子类访问
*这是可序列化的。可序列化子类的字段将
从流中恢复。< p >
*
*当遍历一个图形时,可能会遇到一个不存在的对象
*支持序列化接口。在这种情况下
*抛出NotSerializableException并识别类
*的非序列化对象。< p >
*
*在序列化过程中需要特殊处理的类
*反序列化过程必须实现特殊的方法与这些精确
*签名:
*

  • <前>
    *私有void writeObject(java.io。ObjectOutputStream)
    *抛出IOException
  • private void readObject(java.io.)ObjectInputStream)
    *抛出IOException, ClassNotFoundException;
  • private void readObjectNoData()
  • ObjectStreamException扔;
  • < / PRE >
  • writeObject方法负责写入对象的状态
    对象为其特定的类,以便相应的
  • readObject方法可以恢复它。默认的保存机制
    对象的字段可以通过调用调用
  • out.defaultWriteObject。方法不需要关心
    自身,状态属于超类或子类。
    状态通过将单个字段写入
  • ObjectOutputStream使用writeObject方法或通过使用
  • DataOutput支持的基本数据类型的方法。

readObject方法负责从流中读取数据
恢复类字段。它可以调用in。defaultreadobject来调用
*恢复对象的非静态和默认机制
*非暂时性字段。defaultReadObject方法在
属性指定保存在流中的对象的字段
*当前对象中相应命名的字段。这就处理了这个问题
*当类进化到添加新字段时。这个方法不需要
关注属于超类或子类的状态。
状态通过将单个字段写入

  • ObjectOutputStream使用writeObject方法或通过使用
  • DataOutput支持的基本数据类型的方法。

readObjectNoData方法负责初始化
*对象为其特定类在事件中序列化

  • stream没有将给定的类列为对象的超类
    *反序列化。这可能发生在接收方使用
    *反序列化的实例的类与发送的不同
    接收者的版本扩展了未被扩展的类
    *发送者的版本。如果序列化流具有
    *被修改;因此,readObjectNoData对于初始化很有用
    *正确地反序列化对象,尽管“敌对”或不完整的来源
    *流。
  • <p需要指定替代对象的可序列化类
    *在向流写入对象时使用的应该实现这个
    *具体签名的特殊方法:
  • <前>
    *任何访问修饰符对象writeReplace()抛出ObjectStreamException;
  • < / PRE > < p >

这个writeReplace方法是通过序列化调用的
方法中定义的方法可以访问
被序列化对象的类。因此,方法可以有private,
*保护和包私有访问。子类访问此方法
*遵循java可访问性规则。< p >
*
*类需要指定替换时,它的实例
*是从流中读取的,应该实现这个特殊的方法

  • e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值