首页 > 编程语言 >Java中具有继承的对象序列化

Java中具有继承的对象序列化

时间:2022-09-02 14:58:40浏览次数:107  
标签:Java JVM 继承 子类 当超类 超类 序列化 构造函数

在序列化中,当引入继承时,则根据超类和子类定义了某些情况,这使对每种情况下的序列化的理解变得更加简单。应遵循的基本规则如下。

1.当超类实现时,可序列化接口而子类则不。

在这种情况下,即使子类未实现Serializable接口,默认情况下,当超类被序列化时,子类的对象也将被序列化。

2.当超类未实现可序列化的接口而子类实现时。

在这种情况下,在子类中继承的超类实例变量不会被序列化,并且在子类的序列化过程中也不会释放其分配的值。此外,在子类序列化期间的JVM也将默认的初始化值重新分配给这些超类的实例变量。
在此场景中需要注意的一点是,超类必须具有默认的无参数构造函数,因为反序列化期间JVM访问超类。如果不存在该构造函数,则会遇到编译时异常。

3.当需要序列化超类而不是子类时(自定义序列化)。

为了防止子类被序列化,我们需要实现writeObject()并readObject()在序列化和反序列化期间由JVM执行的方法以及这些方法抛出NotSerializableException。
我们还可以在这些方法中提供自定义逻辑,这些逻辑将在序列化/去角质素。

转载:
https://www.nhooo.com/note/qa063h.html

标签:Java,JVM,继承,子类,当超类,超类,序列化,构造函数
From: https://www.cnblogs.com/jiangwg/p/16649855.html

相关文章

  • java二维数组
    二维数组二维数组可以看成以数组为元素的数组。还可以有二维、三维、甚至更多维数组,但是实际开发中用的非常少。最多到二维数组(学习容器后,我们一般使用容器,二维数组用的......
  • Java基础
    Java基础注释//单行注释/*回车多行注释/**回车文档注释标识符和关键字数据类型publicclassDemo01{publicstaticvoidmain(String[]args){......
  • java Builder模式
    Builder 模式也叫建造者模式,builder模式的作用将一个复杂对象的构建与他的表示分离,一步一步创建一个复杂对象的创建型模式。在不知道内部建造细节的情况下,可以更精细的控......
  • 20个既简单又实用的JavaScript小技巧
    1.滚动到页面顶部我们可以使用window.scrollTo()平滑滚动到页面顶部。const scrollToTop = () => {  window.scrollTo({ top: 0, left: 0, behavior: "sm......
  • java开发技术栈
    技术栈名称说明备注TLog轻量级的分布式日志标记追踪神器 ignite以内存为中心的数据平台内存数组组织框架是一个高性能、集成和分布式的内存计算和事务平台......
  • Java接口自动化测试框架系列(三)LOG信息的处理
    既然是搭建自动化测试框架,肯定是希望框架的整体功能是全面的。如果在执行过程中出了问题,通过log进行查看是比较方便的,所以需要有一个log方法来记录日志。记录日志比较常......
  • 猿人学安卓逆向对抗比赛-第一题(JAVA层加密)
    JAVA层加密抓包证书导入(charles同理)先安装为用户证书(如下)然后将证书导入系统adbshellsucd/data/misc/user/0/cacert-addedmount-oremount,rw/systemcp*/......
  • 使用java完成图形验证码
    序目标是使用Java生成验证码,传入前端。一.实现思路利用接口调用工具类,使用ajax反馈给前端二.实现步骤1.添加依赖点击查看代码<dependency><group......
  • JAVA进阶--常用时间API、包装类、正则表达式、Array类、Lambda表达式、常见算法--202
    第一节 Date日期对象1、日期对象如何创建,如何获取时间毫秒值Datedate=newDate();Longtime=date.getTime();2、时间毫秒值怎么恢复成......
  • Flask 学习-38.Flask-RESTful 序列化输出中文显示问题
    前言flask接口无法显示中文,可以添加全局配置JSON_AS_ASCII=False,但是解决不了Flask-RESTful序列化输出中文问题flask配置中文显示添加全局配置项JSON_AS_ASCII=Fa......