💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
#### 概念 局部代码块是定义在方法或语句中 . **特点** 1. 以”{}”划定的代码区域,此时只需要关注作用域的不同即可 . 2. 方法和类都是以代码块的方式划定边界的 . ~~~ public class Test { public static void main(String[] args) { int x = 10; { x = 200; System.out.println(x); } System.out.println(x); } } ~~~ 结果 ~~~ 200 200 ~~~ ### 构造代码块 构造代码块是定义在类中成员位置的代码块 . **特点** : 1. 优先于构造方法执行,构造代码块用于执行所有对象均需要的初始化动作 . 2. 每创建一个对象均会执行一次构造代码块 . ~~~ public class Test { public Test() { System.out.println("构造方法"); } { System.out.println("构造代码块"); } } ~~~ 结果 ~~~ 构造代码块 构造方法 ~~~ ### 静态代码块 静态代码块是定义在成员位置,使用static修饰的代码块 . **特点** : 1. 它优先于主方法执行、优先于构造代码块执行,当以任意形式第一次使用到该类时执行 . 2. 该类不管创建多少对象,静态代码块只执行一次 . 3. 可用于给静态变量赋值,用来给类进行初始化 . ~~~ public class Test { public Test() { System.out.println("构造方法"); } { System.out.println("构造代码块"); } static { System.out.println("静态代码块"); } } ~~~ 结果 ~~~ 静态代码块 //静态代码块只执行了一次 构造代码块 构造方法 构造代码块 构造方法 ~~~