block块:{ }
{ }
就是一个作用域
块的位置:
位置 | 名称 | 执行时机 |
---|
方法中或语句块中 { } | 局部代码块 普通代码块 | 跟随方法执行 |
类中方法外 { } | 构造块 | new创建对象 |
类中方法外 static{ } | 静态块 | 类第一次加载时 |
同步块 → 多线程 | synchronized 同步块 | |
注意:
构造块会在创建对象的时候,其中一步调用构造器,构造块会在构造器之前执行,
如果有多个构造块,从上到下依次执行( 如果是带参构造器 则构造块会插在传参之后先执行该构造块 再执行带参构造器里的内容 )
静态块是静态的内容,会在类第一次加载的时候执行一次
代码执行顺序:
静态块 → main → 构造块 → 构造器 → …