类中的静态块和静态变量的执行顺序是什么?
可能的重复:
Java静态类初始化
为什么字符串变量在初始化块中更新而不是整数(即使块首先写入)
class NewClass
{
static
{
System.out.println(NewClass.string+" "+NewClass.integer);
}
final static String string="static";
final static Integer integer=1;
public static void main(String [] args)//throws Exception
{
}
}
我的输出是
static null
P.S:还注意到字符串变量初始化仅在我插入最终修饰符时才发生在块之前。为什么是这样?为什么不是整数呢?我也已将其声明为最终静态