问答详情
源自:6-3 序列化中子父类构造函数问题

对于子类序列化接口,父类没有实现序列化接口构造函数不会被调用有什么用?

有什么用?对于子类序列化接口,父类没有实现序列化接口构造函数不会被调用有什么用?

提问者:Coder编程 2016-07-27 14:24

个回答

  • 慕沐6598592
    2019-05-12 22:51:17

    1、无论子、父类是否实现序列化接口,创建子类对象时都会递归调用父、子类构造函数

    2、没有实现序列化接口的父类们不会被序列化到文件

    3、在反序列化操作时,由于没有实现序列化接口的父类们没有被序列化到文件中,所以在生成其子对象时jvm自动调用了父类们的无参构造方法

  • Yaro
    2017-03-10 17:21:26

    呃~意思就是说!序列化折后不是存一个文件吗?如果父类被序列化了,那么这个文件里就能找到这个父类,所以不需要调用父类的构造方法。如果父类没有序列化,就需要调用父类构造方法构造出父类。原理是这样,至于有什么用~谁知道呢。

  • 慕粉4078529
    2016-12-18 23:15:21

    同问同问

  • leowei
    2016-11-02 21:11:08

    估计在说明一个问题,没有实现序列化接口,就不能序列化

  • tlojy
    2016-08-15 16:49:07

    在父类没有实现 Serializable 接口时,虚拟机是不会序列化父对象的,也就是说序列化后的流中没有父类的信息;而一个 Java 对象的构造必须先有父对象,才有子对象,反序列化也不例外。所以反序列化时,为了构造父对象,只能调用父类的无参构造函数作为默认的父对象。

  • 应龙
    2016-07-28 20:34:02

    子类实现实现序列化接口,父类没有实现,会调用父类的构造函数的说