我正在阅读JLS的section 12.4,第一行是
“类的初始化包括执行在类中声明的静态初始化器和静态字段的初始化器(类变量)。”
粗体部分是什么意思? 静态初始化程序和初始化程序是这样的块:
class Foo{
static { ... }
{ ... }
}
那么,什么是静态字段的初始化程序?它只是指静态字段声明的RHS中的指令?类似于对 p()方法的调用,要清楚吗?
class Foo{
static int b=p();
static int p(){
System.out.println("ciao");
return 10;
}
}
感谢您的澄清!