常见的代码块相比大家都比较熟悉,但是运用也是需要技巧的,希望给大家分享

一.代码块

{} 表示就是代码块 代码块根据位置不同和声明可分为 :静态代码块 构造代码块 局部代码块 同步代码块

下面介绍各代码块

1.局部代码块

位置处于方法中 限定生命周期,及早释放内存,提高内存的利用率

java 跳出代码块 java代码块的用处_java 跳出代码块


java 跳出代码块 java代码块的用处_代码块_02


2.构造代码块

类中方法外

多个构造方法相同代码存放在一起,每次都会调用构造方法都会执行,且在构造方法前执行

java 跳出代码块 java代码块的用处_java 跳出代码块_03


java 跳出代码块 java代码块的用处_代码块_04


3.静态代码块 【常用】

在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次

一般用于加载驱动

java 跳出代码块 java代码块的用处_静态代码块_05


java 跳出代码块 java代码块的用处_构造方法_06


4.同步代码块:

使用synchronized(){}包裹起来的代码块,在多线程环境下,对共享数据的读写操作是需要互斥进行的,否则会导致数据的不一致性。同步代码块需要写在方法中。

java 跳出代码块 java代码块的用处_代码块_07

总结:

1.静态代码块和构造代码块的异同点

相同点:都是在加载构造函数前执行 可以在类中定义多个,使用场景一般是为一些static 变量进行赋值

不同点:静态代码块要在非代码块前执行 静态代码块 在new 时会执行一次,之后不会再执行, 而非静态代码块每new 一次执行一次

执行顺序:(重点)

静态块总是最先执行的,并且只有在创建该类的第一个实例的时候才会执行一次;第二执行的是构造块;第三执行的是构造方法。

java 跳出代码块 java代码块的用处_代码块_08