1、构造函数、静态代码块、构造代码块执行顺序
1、结论:
静态代码块>构造代码块>构造函数的方法体
静态代码块只能访问静态方法,变量
2、细化构造函数体执行前会先执行:
2、1 执行父类的super()
2、2 初始化非静态变量(基本类型:0/false 引用类型/封装类型:null)
2、3 构造函数代码块
注意: this():构造函数第一行有this()的时候2、1/2、/2、3都不会执行
3、具体实例:
package Collection_Set;public class Test11 {public Test11() {System.out.println("父类构造函数被调用");}public static void main(String[] args) {}}
package Collection_Set;public class Static_Test extends Test11{private static int a;private int b;static {a=1000;System.out.println("静态代码块执行:a="+a);//step1}{a=100;System.out.println("构造代码块执行:a="+a);//step4构造代码块被执行}public Static_Test() {this("有参数被调用a="+a); //step2System.out.println("无参被调用");//setp6}public Static_Test(String string) {//step3父类无参构造函数被调用//step4构造代码块被执行 System.out.println(string);//step5}public static void main(String[] args) {Static_Test st=new Static_Test(); System.out.println(st.a);}}
4、结果:
1、构造函数、静态代码块、构造代码块执行顺序相关推荐
- [转载] Java静态代码块/构造代码块/构造函数/静态变量/成员变量(相关示例)
参考链接: Java程序的输出| 构造函数 近期做牛客网的Java开发笔试题,发现这类型的题目较多,很容易混淆,特将相关概念和相关示例整理如下,供大家参考^_^ 1. 静态代码块在类加载时即运行,而且 ...
- 构造代码块、静态代码块、构造方法的执行顺序
构造代码块.静态代码块.构造方法的执行顺序 牛客网上的一道题目: 通过查询,我写的这道题的解题步骤: package niukewang;/*** @author jxd* @date 2021/8/ ...
- 静态代码块 构造代码块 构造方法的执行顺序
今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题 执行顺序: 静态代码块>构造代码块>构造方法体 首先要知道静态代码块是随着类的加载而加载,而构造代码块和构 ...
- java静态代码块、静态方法、静态变量、构造代码块、普通代码块、成员变量执行顺序
package smartt.styy.auth.model.voRsp;public class Test {static {String test5="555";//局部变量t ...
- 静态代码块与静态函数的执行顺序
class Person { Person() { System.out.println("-----------构造函数-- ...
- C++构造及析构执行顺序
C++构造及析构执行顺序 前言 继承 继承的顺序 虚拟继承的顺序 成员包含其它类对象成员 即有继承又包含类对象成员 结论 前言 在C++中,当创建一个类对象时,编译器是会自动调用一个叫构造函数的东西的 ...
- Java中构造函数,静态代码块,构造代码块的执行顺序
静态代码块:用static声明,jvm加载类的时候执行,只执行一次. 构造代码块:由{}定义,每一次创建对象的时候执行. 构造函数:对象一建立就调用相应的构造函数. 静态代码块 1.它是随着类的加载而 ...
- 父类静态代码块、非静态代码块、构造方法、子类静态代码块、子类非静态代码块、子类构造方法执行顺序
父类 public class Father {static{System.out.println("父类静态代码块");}{System.out.println("父类 ...
- finally代码块和return的执行顺序问题
为什么80%的码农都做不了架构师?>>> 如题所述,写了个方法验证: public int add(int a,int b){ int i = 0; try{ if(i< ...
- 静态 非静态代码块和构造器的执行顺序测试方法
public class Test { static{ System.out.println("静态区"); } { System.out.println("非静态!&q ...
最新文章
- RabbitMQ中RPC的实现及其通信机制
- android stack error message is Fail to start the plugin
- 代号“沙尘暴”:黑客剑指日本关键基础设施
- leetcode 205. 同构字符串
- 一个SAP成都研究院开发工程师的2020年度总结:未知生,焉知死
- 伺服驱动器的 三环控制 电流环 速度环 位置环
- 杂谈机器学习的几个应用场景
- 30秒解决电脑越用越卡的大众常见难题
- Python机器学习:多项式回归与模型泛化008模型泛化与岭回归
- 在文本框中插入@对象
- cnBlog的windows live writer 客户端配置
- python最大公约数计算。从键盘接收两个整数_python如何求解两数的最大公约数
- css让image不改变大小_如何改变图片大小
- 39.Linux清除用户登录记录和命令历史方法
- Maven—Eclipse设置Maven项目JDK版本
- Word2013无法正常加载mathtype
- 安装nvidia驱动和cuda工具包
- SPSS学习资料汇总
- 【综合】系统架构设计师考试经历分享
- html5 图形 标签,HTML5 canvas 标签介绍:定义图形