1. 代码块的概念以及分类
使用 { } 定义的一段代码称为 代码块,根据代码块的位置以及关键字,又可以分为4种:
- 普通代码块
- 构造代码块 (非静态代码块、实例代码块)
- 静态代码块
- 同步代码块
那接下来我们一一对这几种代码块进行介绍!
2. 代码块的解析
2.1 普通代码块
所谓普通的代码块:就是定义在方法中的代码块
生命周期:到了这就创建,出了这个代码块就销毁了!
2.2 构造块(非静态代码块、实例代码块)—–> 用来初始化非静态的数据成员
所谓的构造块:就是在类里面,方法外面的代码块
从图中,可以看出在调用构造方法之前,先执行 构造块,然后再执行构造方法 ,和它们两个先后顺序无关!
再来看另外一种情况! 当非静态成员变量直接赋值的情况下,那么构造代码块和 非静态的成员变量。就看定义的顺序,谁在最后,最后的值就是哪个
Tips:我们可以这样理解,程序在编译好之后,会将构造快拷贝到构造方法中的最前面部分去!!
2.3 静态代码块—->初始化静态的成员,或者提前准备一点数据
所谓的静态代码块,就是类的里面,方法的外面,加上一个static关键字
从上图中可看出,静态代码块执行顺序是最优先的!无论位置在哪里。(只要这个类被加载,静态代码块都会被执行)
Tips:
- 静态代码块不管生成几个对象,只会执行一次
- 静态成员变量是类的属性,因此在JVM加载类时开辟空间并初始化
- 如果一个类中包含多个静态代码块,在编译的时候,编译器会按照定义的顺序依次执行
- 实例代码块只有在创建对象的时候才会执行
2.4 同步代码块
后期在进行解释
今天的文章代码块是什么_给我一个命令方块的指令怎么写「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/75602.html