假设有这样一个类:
public class Utils {
static {
Log.i("static","isLoad!");
}
public static void staticCode(){ }
public int value; public void noStaticCode(){ }
} 在整个程序运行起来时,何时加载这个静态代码块呢?
1、当实例化该类时。列:new Utils();
2、当调用该类静态方法时。列:Utils.staticCode();
总结:当调用含静态代码块的类时,首先执行静态代码块,且只被调用一次。