【发布时间】:2012-07-16 08:30:39
【问题描述】:
可能重复:
Static Block in Java
我遇到了static 的以下用法,但没有弄清楚它的作用。
我知道使用例如static String hello = "World";,但我不明白以下内容。
static {
loadFromProperties(new Properties());
}
【问题讨论】:
-
程序中的静态块是VM初始化时最先执行的。更具体地说,静态块用于初始化静态常量。公共静态最终 int MAX_ITER;静态 { int dummyMaxIter = AClass.calculateABC(); if (dummyMaxIter >= 0) { MAX_ITER = dummyMaxIter; } 其他 { MAX_ITER = 0; } } 见上面的部分。可以直接从
AClass.calculateABC()初始化MAX_ITER。但是你需要在赋值之前验证AClass.calculateABC()返回的值。 -
你是对的,这是重复的。对此感到抱歉。