我创建了一个包含一堆属性值的类.为了初始化该类,我必须调用一些静态方法"configure()",它从XML文件配置它.
该类应该用于存储一些数据,以便我可以写
PropClass.GetMyProperty();
Run Code Online (Sandbox Code Playgroud)
我configure()在main中调用了一个静态块,所以我可以在任何地方使用它
但
如果我将其他类的静态常量成员设置为我的"PropClass"中的值,我得到null,
class SomeClass {
static int myProp = PropClass.GetMyProperty();
}
Run Code Online (Sandbox Code Playgroud)
这可能是因为在调用configure之前计算了该表达式.我该如何解决这个问题?
如何强制configure()执行首先执行的调用?谢谢
你可以使用静态代码块来做到这一点
static {
configure();
}
Run Code Online (Sandbox Code Playgroud)
静态初始化程序块的语法?剩下的就是关键字static和一对匹配的花括号,其中包含在加载类时要执行的代码.取自这里
| 归档时间: |
|
| 查看次数: |
2396 次 |
| 最近记录: |