日期:2014-05-20  浏览次数:20622 次

请问 static initializer 的使用时机
专家们好:
以下我随便定义一个类

/*************************
class A{

  static int a = 1; //1
  static int b

  static{ //2
  b =1
  }

}

请问一下,1跟2两种定义方法有什么主要区别? (我自己感觉好像一模一样,呵呵)



------解决方案--------------------
应该是一样,不过static块里可以调用一些static方法
------解决方案--------------------
探讨
引用:
Static variables are initialized before static blocks.

猜的吧?错了.
是按照出现顺序来执行的
测试:

Java code

public class Test {

public static void main(String[] args) {
}
public static int b;


static {
b = 11;
}
public static int a = 1;

public static void test() {
System.out.println("hel…