【发布时间】:2010-09-25 00:28:14
【问题描述】:
我的问题是关于静态关键字的一种特殊用法。可以使用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 关键字并使其编译。
这两种方式都让我感到困惑。我应该如何拥有一个不属于任何方法的代码部分?怎么可能调用它?一般来说,这种用法的目的是什么?或者更好的是,我在哪里可以找到这方面的文档?
【问题讨论】:
标签: java static static-initializer