在程序中使用“{}”定义的接口就称为代码块,而后根据代码块出现的位置以及定义的关键字的不同,代码块可以分为:普通代码块,构造块、静态代码块、同步代码块。
- 普通代码块
可以在一个方法之中进行一些结构的拆分,以防相同变量名称所带来的互相影响。 - 构造块
构造块时定义在一个类之中的。构造块会优先于构造方法执行,并且每一次实例化新对象的时候都会调用构造块中的代码。 - 静态代码块
静态代码块主要指的时使用static关键字定义的代码块,静态块的定义需要考虑到两种情况:主类中定义静态块,非主类中定义静态块。
非主类中定义静态块:此时静态代码块会优先于构造块执行,并且不管有多少个实例对象,只执行一次。静态代码块的主要目的是为了类中的静态属性初始化。
主类中定义静态代码块:静态代码块优先于主方法先执行。 - 同步代码块 多线程时用到