最近,我发现数组可以按如下方式初始化:
private static int[] _array = new int[4];
// An arbitrary amount of code
{
_array[0] = 10;
_array[1] = 20;
_array[2] = 30;
_array[3] = 40;
}
这种初始化形式叫什么?有什么限制?
答案 0 :(得分:3)
这是使用initializer block的实例成员初始化,它看起来很像静态初始化,它会在该块前面添加单词static
。
它的限制将与任何构造函数的限制相匹配,因为Java编译器将初始化程序块复制到每个构造函数中。因此,这种方法可用于在多个构造函数之间共享代码块。
答案 1 :(得分:1)