微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 序列化一个具有不可序列化的父类的对象

以下代码如何工作?
class A {
         int a = 10;
     }


     class B extends A implements Serializable{

      }



     public class Test {
       public static void main(String[] args){
        B obj = new B();
        obj.a = 25;


        //Code to serialize object B  (B b= new B()),// deserialize it and print the value of 'a'. 
      }
    }

即使我在代码中更改了’a’的值,代码也会打印10.

任何解释这个行为?

解决方法

a的认值为10 – 创建对象时将设置为10.如果要进行实际测试,请在实例化后将其设置为不同的值,然后将其序列化.

至于你的更新 – 如果一个类是不可序列化的,它的字段不会被序列化和反序列化.只有序列化子类的字段.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐