首先看下面的例子,定义一个类,里面包含静态变量、静态方法、静态代码块,如下:
public class Helper {
public static String HELP = "help";
public static void initHelper(){
System.out.println("helper init.....");
}
static {
System.out.println("static started.....");
}
}
1、调用静态变量运行结果如下:也就是说调用静态变量时,静态代码块会执行。
2、调用静态方法运行结果如下:也就是说调用静态方法时,静态代码块会执行,而且多次调用,静态代码块只会执行一次。
3、创建类测试如下:也就是说创建类的时候,静态代码块也会执行。
由上面的例子可以总结出来:
静态代码块在类记载的时候执行,而且只执行一次。一般用来对类初始化数据的定义。
具体如下:
1、调用类静态变量会执行静态代码块
2、调用静态方法时静态代码块会执行
3、创建对象时,静态代码块会执行