一:对象序列化可以完成散布式对象。 主要应用例如:rmi要应用对象序列化运行近程主机上的服务, 就像在本地机上运行对象时一样。
二:java对象序列化不只保留一个对象的数据, 而且递归保存对象援用的每个对象的数据。 可以将整个对象层次写入字节流中, 可以保存在文件中或在网络衔接上传递。 应用对象序列化可以进行对象的"深复制", 即复制对象自身及援用的对象自身。 序列化一个对象能够失掉整个对象序列。
类经过完成java. io. serializable接口以启用其序列化功能。 未完成此接口的类将无法使其任何形态序列化或反序列化。 可序列化类的一切子类型自身都是可序列化的。 序列化接口没有方法或字段, 仅用于标识可序列化的语义。
要允许不可序列化类的子类型序列化, 可以假定该子类型负责保存和还原超类型的公用(public)、受保护的(protected)和(如果可访问)包(package)字段的形态。 仅在子类型扩展的类有一个可访问的无参数构造方法来初始化该类的形态时, 才可以假定子类型有此责任。 如果不是这种情况, 则声明一个类为可序列化类是错误的。 该错误将在运行时检测到。 |