我的问题是关于静电关键字的一个特殊用法.可以使用static
关键字来覆盖不属于任何函数类内的代码挡路.例如,编译以下代码:
public class Test {
private static final int a;
static {
a = 5;
doSomething(a);
}
private static int doSomething(int x) {
return (x+5);
}
}
如果删除static
关键字,它会抱怨,因为变量a
是final
.但是,可以删除final
和static
个关键字并使其编译.
对我来说,这两个方面都是令人困惑的.我怎么会有一个不属于任何方法的代码段呢?怎么可能调用它呢?一般来说,这个用法的目的是什么?或者更好的是,我在哪里可以找到关于这方面的文档?