static{}(即static块)在类被加载时执行且执行一次。一般用来初始化静态变量和调用静态方法。
在虚拟机的生命周期中,一个类只会被加载一次,又因为static 只会伴随着类的加载而执行,所以无论new多少个对象实例,static{}只会被加载一次。
如果静态变量被赋了初值,在类被加载的时候赋值操作也就完成了。当一个类中既有static{}又有static变量的时候,要遵循”先定义先执行”的原则。
同样的道理,当一个类中有多个static{}的时候,同样要遵循“先定义先执行”的原则。
static{}语句经常用在JDBC中。其他等。