Java 程序中时常用些 static{}这样的结构。
这样的结构叫 static块,一般是一个类初始化时运行的代码。注意,是类的初始化,不是对象的初始化。
也就是你在定义对象时,他运行的初始化代码,并且只有第一次定义时才运行。之后就不再运行初始化了。
一个类中可以有很多static块。static块按顺序执行。
看以下代码:
public class TestStatic{
static{
System.out.println(1);
}
static {
System.out.println(2);
}
static {
Stystem.out.println(3);
}
public static void main(String args[]){
System.out.println(5);
}
static {
System.out.println(4);
}
}
执行结果是:
1
2
3
4
5
一目了然,首先调用的是static静态块的代码,然后调用启动方法,而STATIC块的执行顺序是由代码的编写顺序执行的过程,STATIC块大家用的比较少,其实就是在对象生成之际产生的一系列的STATIC变量。