static
块中的初始化有什么区别:
public class staticTest {
static String s;
static int n;
static double d;
static {
s = "I'm static";
n = 500;
d = 4000.0001;
}
...
和单独的静态初始化:
public class staticTest {
static String s = "I'm static";
static int n = 500;
static double d = 4000.0001;
....
原文由 Adam Matan 发布,翻译遵循 CC BY-SA 4.0 许可协议
静态初始化块允许更复杂的初始化,例如使用条件:
或者当不仅仅需要构建时:当使用构建器创建实例时,异常处理或创建静态字段以外的工作是必要的。
静态初始化块也在内联静态初始化程序之后运行,因此以下内容有效: