听起来像是类上的静态初始化块。
您可以使用该块来初始化该类的所有静态变量。但是,在此之前我从未见过“公共”限定词。
在 Java 中试试这个,这样你就可以看到调用的顺序
public class StaticTest {
{
System.out.println("Anonymous Block.");
}
static {
//probably equivalent to that public {} you see on your code.
System.out.println("Static Block.");
}
public StaticTest() {
System.out.println("Constructor.");
}
public static void main(String[] args) {
StaticTest test = new StaticTest() {
{
System.out.println("Anonymous block in instance.");
}
};
}
}
当您执行此操作时,它会打印以下内容:
> $ java StaticTest
> Static Block.
> Anonymous Block.
> Constructor.
> Anonymous block in instance.