当前位置: 首页 > news >正文

继承的初始化顺序

B类继承A类后,new B()后执行顺序如下:

1、执行A类的静态方法(只执行一次)

2、执行B类的静态方法(只执行一次)

3、执行A类的成员变量的赋值(没有赋值操作则忽略此步)

4、执行A类的构造方法

5、执行B类成员变量赋值(没有赋值操作则忽略此步)

6、执行B类的构造方法

如果此时再次new B() ,步骤1-2静态方法已经执行过,不会再执行,执行步骤3-6

public class Person {private String name = "person";static {System.out.println("Person父类静态代码块");}public Person() {System.out.println("Person父类构造方法");}public String getName() {return name;}public void setName(String name) {this.name = name;}
}public class Student extends Person{private int age = 18;static {//静态代码块System.out.println("Student子类静态代码块");}Student(int age) {this.age = age;System.out.println("Student子类构造方法");}public static void main(String[] args) {Student s1 = new Student(20);System.out.println("name=" + s1.getName());System.out.println("age=" + s1.getAge());Student s2= new Student(24);System.out.println("name=" + s2.getName());System.out.println("age=" + s2.getAge());}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

运行后代码结果:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 解析Java中1000个常用类:ServiceLoader类,你学会了吗?
  • SpringBoot工厂模式
  • 【重点】人工智能大语言模型技术发展研究报告2024|附下载
  • 旅游社交小程序的设计
  • 借题《黑神话悟空》,聊聊UE5 游戏开发中基本的 C++ 概念
  • 如何在分布式环境中实现高可靠性分布式锁
  • 我在某日重新下载了idea
  • Vue中字节流格式的 Base64编码转换为 Blob 对象保存成wav的音频文件
  • Jmeter性能关注指标详解
  • Day18_Netty
  • Spark MLlib 特征工程系列—特征转换SQLTransformer
  • 数学建模学习(127):基于Python的模糊最佳-最差法(Fuzzy BWM)在多准则决策中的应用
  • 8.20-ansible剧本的使用+roles的应用
  • 书橱系统小程序的设计
  • C控制语句:分支和跳转(终章·题目)
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • javascript从右向左截取指定位数字符的3种方法
  • java第三方包学习之lombok
  • learning koa2.x
  • node-glob通配符
  • Xmanager 远程桌面 CentOS 7
  • 第2章 网络文档
  • 网络应用优化——时延与带宽
  • 移动端解决方案学习记录
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • hi-nginx-1.3.4编译安装
  • Java总结 - String - 这篇请使劲喷我
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #162 (Div. 2)
  • #Linux(Source Insight安装及工程建立)
  • #Linux(权限管理)
  • #pragma data_seg 共享数据区(转)
  • #QT(QCharts绘制曲线)
  • (二十六)Java 数据结构
  • (三)SvelteKit教程:layout 文件
  • (转载)虚函数剖析
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .NET Framework .NET Core与 .NET 的区别
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .NET使用存储过程实现对数据库的增删改查
  • @Import注解详解
  • @Value读取properties中文乱码解决方案
  • [Docker]三.Docker 部署nginx,以及映射端口,挂载数据卷
  • [HackMyVM]靶场Crossbow
  • [HTML]Web前端开发技术7(HTML5、CSS3、JavaScript )CSS的定位机制——喵喵画网页
  • [IOI2007 D1T1]Miners 矿工配餐
  • [java][SSM]整合Mybatis3、Spring4 和 SpringMVC4 的步骤
  • [LeetCode] 197. 上升的温度
  • [lesson17]对象的构造(上)
  • [linux]资料收纳
  • [NOI2022] 众数 题解
  • [Oh My C++ Diary]内联函数
  • [OLEDB] 目前还找找不到处理下面错误的办法
  • [pytorch] --- pytorch基础之transforms