【发布时间】:2013-11-30 07:00:10
【问题描述】:
这个Q宁可验证:
静态 final 字段可以在声明时进行初始化:
public static final int i=87;
或在静态块中:
public static final int i;
//..........
static {
...
i=87;
...
}
除了静态块之外,是否还有静态最终字段
public static final int i;
可以初始化吗?
提前致谢。
注意:看到Initialize a static final field in the constructor。静态块不是在声明之外初始化它的唯一地方,这并不具体。
//===============
添加:
扩展@noone 的好答案,以回应@Saposhiente 的以下内容:
在一些非静态上下文中混合:
public class FinalTest {
private static final int INT = new FinalTest().test();
private int test() {
return 5;
}
}
【问题讨论】: