课程
/后端开发
/Java
/文件传输基础——Java IO流
有什么用?对于子类序列化接口,父类没有实现序列化接口构造函数不会被调用有什么用?
2016-07-27
源自:文件传输基础——Java IO流 6-3
正在回答
1、无论子、父类是否实现序列化接口,创建子类对象时都会递归调用父、子类构造函数
2、没有实现序列化接口的父类们不会被序列化到文件
3、在反序列化操作时,由于没有实现序列化接口的父类们没有被序列化到文件中,所以在生成其子对象时jvm自动调用了父类们的无参构造方法
呃~意思就是说!序列化折后不是存一个文件吗?如果父类被序列化了,那么这个文件里就能找到这个父类,所以不需要调用父类的构造方法。如果父类没有序列化,就需要调用父类构造方法构造出父类。原理是这样,至于有什么用~谁知道呢。
同问同问
估计在说明一个问题,没有实现序列化接口,就不能序列化
在父类没有实现 Serializable 接口时,虚拟机是不会序列化父对象的,也就是说序列化后的流中没有父类的信息;而一个 Java 对象的构造必须先有父对象,才有子对象,反序列化也不例外。所以反序列化时,为了构造父对象,只能调用父类的无参构造函数作为默认的父对象。
子类实现实现序列化接口,父类没有实现,会调用父类的构造函数的说
Coder编程 提问者
举报
为您介绍IO流的使用,以及对象的序列化和反序列化的内容
1 回答子类对象反序列化时 为什么要调用没有实现序列化接口的父类的构造方法?
2 回答父类实现序列化接口。。。
3 回答为什么没有实现Serializable的父类的构造函数,就会在反序列化子类的过程中被调用
5 回答序列化中子父类中父类为什么不用实现序列化而不报异常呢?
3 回答关于父类没有无参构造函数的反序列化问题