日期:2014-05-20 浏览次数:20810 次
public class Config {
public static int GLOBAL_VALUE = 100;
}
public class Worker {
public void foo() {
int value = Config.GLOBAL_VALUE;
while (condition) {
// do something with value
}
}
}
------解决方案--------------------
当然可以,如果是non-static,可以在域声明时候初始写死的,或者调用方法,也可以在构造函数中
比如
class A {
private final int x = 100;
private final int y = initY(); // 当然,如果这个方法声明抛出异常(比如throws Exception),那只能放到构造函数
private final int z;
A() {
z = ....;
}
}
------解决方案--------------------
final可以在执行顺序在构造方法之前前包括构造方法赋值。