java 有继承关系的类的静态变量和非静态变量以及代码块的初始化顺序

news/2024/7/24 5:07:38 标签: java, jvm

类B继承A

在main函数中new一个B类对象

1.父类 静态变量初始化和静态代码先执行

2.再执行子类静态变量初始化和静态代码块

3.再进入B类构造器,以下图顺序进行执行

B中super进入A类构造器,同样是以这个顺序进行执行,A的父类是Object,没有执行语句,就进行A类的普通变量初始化和普通代码块的执行,再执行A类构造器里的其他语句

 

 A类构造器执行完毕,返回B类构造器,再进行B类普通变量初始化和普通代码块的执行,再执行B类构造器剩下的语句,此时main中 new B() 这个语句执行完毕,初始化完成;

如有多级继承关系,以此类推


http://www.niftyadmin.cn/n/202645.html

相关文章

【PHPWord】基于Word模板替换生成输出表格动态生成内容、合并单元格、设置单元格背景颜色

文章目录 一、前言二、业务需求三、功能实现1.处理数据2.Word模板3.输出动态数据四、完整代码和模板1.Word模板2.完整代码五、总结一、前言 在之前的文章中,我们做了直接生成Word文件,并输出表格的案例。 这次,我们根据一些近似实际业务的需求,来完成在Word模板上生成复杂…

R语言与作物模型(以DSSAT模型为例)融合应用

随着基于过程的作物生长模型(Process-based Crop Growth Simulation Model)的发展,R语言在作物生长模型和数据分析、挖掘和可视化中发挥着越来越重要的作用。想要成为一名优秀的作物模型使用者与科研团队不可或缺的人才,除了掌握对…

vba:Comment 对象,批注

Comment 对象 代表单元格批注 批注添加 Sub 批注添加() With [a1] If .Comment Is Nothing Then .AddComment.Text "123" .Comment.Visible = True End If End With End Sub Sub 删除批注() For Each Rng In Selection If N…

echarts 地图板块点击着色,移除着色

//选择省份变色 showProvince(name) { this.oldName name; this.mapChart && this.mapChart.dispatchAction({ type: geoSelect, name }) }, //移除上次点击变色 hideProvince() { this.mapChart && this.mapChart.dispatchAction({ type: geoUnSelect, name:…

Linux 信号定义及分类

目录 简介 信号配置 发送信号 捕捉信号 同步接收信号 信号掩码和挂起信号 标准信号 其他信号 实时信号 异步信号安全函数 通过信号处理程序中断系统调用和库函数 通过停止信号中断系统调用和库函数 简介 Linux同时支持POSIX可靠信号(以下简称“标准信号…

tsconfig.json文件快捷详解

{// 指定需要编译文件 否则默认当前目录下除了exclude之外的所有.ts, .d.ts,.tsx 文件"include": ["./test.ts"],// 指定需要编译文件 否则默认当前目录下除了exclude之外的所有.ts, .d.ts,.tsx 文件"files": ["./src/**/*"],// 不编译…

Docker快速安装gogs仓库

1.拉取镜像 docker pull gogs/gogs 2.运行gogs服务(注意端口给的3001) docker run \ --namegogs \ -p 122:22 \ -p 3001:3000 \ -v /var/gogs:/data gogs/gogs 3.进入浏览器中配置docker配置(输入你自己的虚拟机ip地址端口号)…

Object.defineProperty()和 Proxy的区别

众所周知,Object.defineProperty()和 Proxy的区别也是Vue2和Vue3响应式的区别,现在就聊一下为什么Proxy会替代Object.defineProperty() Object.defineProperty(): Object.defineProperty() 方法会直接在一个对象上定义一个新属性&#xff0…