块 block
作用域以块为单位{ }
1. {}定义在方法中-->局部代码块|普通语句块 (执行时机: 调用方法的时候)
2. {}定义在类中方法外-->构造块 (执行时机: 创建对象)
3. static{}定义在类中方法外-->静态块(执行时机: 第一次类加载后执行
注意:
- 构造块中的代码先于构造器代码执行,编译时会被变编译到构造器代码的最上面,如果有多个构造块,从上倒下以此执行
- 第一次类加载后执行,并且只执行一次,如果存在多个静态块,从上倒下依次执行
- 静态块先于之方法执行 静态块–>主方法–>构造块–>构造器代码