日期:2014-05-20 浏览次数:20597 次
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可以在执行顺序在构造方法之前前包括构造方法赋值。