代码块--java进阶day03
1.代码块

1.局部代码块
定义在方法中的一对大括号,可以提早释放内存,走完{}里的逻辑后就会被释放,在之后的编程中无法使用


2.构造代码块

位置在类中,方法外的{},在构造方法执行的时候,构造代码块就会执行一次(优先执行构造代码块),可以用来提高代码复用性

.

为什么构造代码块会优先于构造方法执行?我们可以通过反编译文件来看 如下图
很明显,在编译好的文件中,我们写的构造代码块都会被加入到构造方法中,而且是在第一行

3.静态代码块
位置在类中方法外,需要加static关键字,随着类的加载而执行


上图中,第一句话就是静态代码块的,并且只执行了一次,这是因为静态代码块随着类的加载而执行,类是优先对象加载的,并且类只会加载一次
作用:给数据初始化
根据静态代码块的执行时机,我们可以用来变量赋值,但要注意静态访问静态,赋值的变量也得是静态

意义:
当我们要创建一个对象时,并且该对象的创建方式及其复杂,我们就可以通过静态代码块来创建


浙公网安备 33010602011771号