构造代码块、静态代码块、构造方法的执行顺序

牛客网上的一道题目:

通过查询,我写的这道题的解题步骤:

package niukewang;/*** @author jxd* @date 2021/8/28 16:24*/class A {public A() {System.out.println("class A");}// 构造代码块,而且在new对象时,构造代码块优先构造方法执行{ System.out.println("I'm A class"); }// 静态代码块,在类加载时会执行,由于类只会被加载一次,所以只会执行一次static { System.out.println("class A static"); }
}
public class B extends A {public B() {// 子类的构造方法会先调用父类中的构造方法(如果父类有无参构造方法,则默认调用父类中的构造方法,如果父类// 中没有无参构造方法,必须手动调用父类中的无参构造方法,且必须写在子类构造方法中的第一行。)System.out.println("class B");}{ System.out.println("I'm B class"); }static { System.out.println("class B static"); }public static void main(String[] args) {new B();}
}//答案:
//class A static 先加载A类,执行A中的静态代码块
//class B static  加载B类,然后执行B中的静态代码块
//I'm A class   执行A的构造方法,A中的构造代码块会先于其执行
//class A   A的构造方法打印的内容
//I'm B class  执行B的构造方法,B中的构造代码块会先于其执行
//class B  B的构造方法打印的内容

构造代码块、静态代码块、构造方法的执行顺序相关推荐

  1. Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序...

    实例化子类时,父类与子类中的静态代码块.实例代码块.静态变量.实例变量.构造函数的执行顺序是怎样的? 代码执行的优先级为: firest:静态部分 second:实例化过程 详细顺序为: 1.父类静态 ...

  2. 静态代码块 构造代码块 构造方法的执行顺序

    今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题 执行顺序: 静态代码块>构造代码块>构造方法体 首先要知道静态代码块是随着类的加载而加载,而构造代码块和构 ...

  3. java构造方法,构造代码块,静态代码块的执行顺序

    构造方法,构造代码块,静态代码块的执行顺序 静态代码块:用static声明,jvm加载类时执行,仅执行一次 类中直接用{}定义,每次创建对象时执行 同级别的变量(static和普通变量)的执行顺序由代 ...

  4. java类加载 静态变量和构造方法加载顺序

    demo1 /*** java规定,变量没有初始化不能使用,全局变量也就是类的属性,java会在编译的时候,自动将他们初始化,* 所以可以不进行变量初始化的操作,☆☆☆☆☆但是(局部)变量必须初始化☆ ...

  5. Static、构造代码块快、构造函数等的执行顺序

    前言 今天分享的是关于在程序中代码的执行顺序,零零散散写了很多随记,总结起来蛮费时间的,希望大家给个关注,多多关注新人哈,废话不多说,还是老规矩,代码穿插注释的总结方式. 1.代码执行顺序 /*** ...

  6. 代码块(静态代码块和非静态代码块)(重难点)

    1 基本介绍 代码化块又称为初始化块,属于类中的成员[即是类的一部分],类似于方法,将逻辑语句封装在方法体中,通过{}包围起来. 但和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不用通过 ...

  7. java 静态变量加载顺序_java 成员变量 静态变量代码块 静态代码快加载顺序

    序言 基类A 类B继承实现了A类 1在new B一个实例时首先要进行类的装载.(类只有在使用New调用创建的时候才会被java类装载器装入)2,在装载类时,先装载父类A,再装载子类B 3,装载父类A后 ...

  8. html js页面加载前执行,Javascript代码在页面加载时的执行顺序介绍

    一.在HTML中嵌入Javasript的方法 1.直接在Javascript代码放在标记对之间 2.由标记的src属性制定外部的js文件 3.放在事件处理程序中,比如: 点击我 4.作为URL的主体, ...

  9. Java中构造方法的执行顺序

    2019独角兽企业重金招聘Python工程师标准>>> 一.先执行内部静态对象的构造方法,如果有多个按定义的先后顺序执行:静态对象在构造的时候也是也先执行其内部的静态对象. 二.再调 ...

最新文章

  1. 物联网浪潮即将来袭,创业者们你需要知道这些
  2. 聚类技术---复杂网络社团检测_自然场景中交通标志牌检测~文末送书
  3. ESP32-C3的性价比到底有多高!乐鑫的布局到底是什么呢?
  4. TinyXML保存UTF-8编码的XML
  5. 架构设计-数据访问层简述
  6. python中字典的用法_Python字典操作用法总结
  7. Internet流量监管机制之漏桶算法和令牌桶算法
  8. 墨卡托投影和高斯-克吕格 (Gauss-Krüger) 投影
  9. k2p拆机ttl刷breed_最新k2p 22.10.3.42;22.10.3.38和k2 22.6.532.231拆机ttl刷breed图文教程
  10. ArcCatalog导出数据
  11. 【日语学习】动词、形容词、名词的敬体形、简体形
  12. Android数据库大批量数据插入优化
  13. chrome浏览器控制台性能监控
  14. 饱和度,对比度,锐度
  15. python训练自己中文语料库_中文语料库构建过程详细教程
  16. 智慧物业大数据可视化平台
  17. vscode上的git三部曲+git pull操作
  18. Ubuntu20.02安装TPLink WDN7200H无线网卡
  19. 2022 CSP-J1 CSP-S1 第1轮 初赛 攻略 总结 心得体会 注意事项 游记
  20. Maven多模块开发Action:Consider defining a bean of type '*.*.*' in your configuration解决

热门文章

  1. 通过 Go 语言来实现 DDD 分层设计,美滋滋!
  2. 【视频编解码的新挑战与新机会】
  3. 倒计时5天:5G还是6G?
  4. 熊猫直播P2P分享率优化(下):ASN组网
  5. 雷辉:让视频会议conferencing like TV
  6. Java多线程之CAS缺点
  7. nginx动态配置及服务发现那些事
  8. 视频容器格式与编码格式简介
  9. Jupyterlab 安装配置手册
  10. 微服务架构日志集中化 安装 EFK (Fluentd ElasticSearch Kibana) 采集nginx日志