最近,我发现一个数组可以这样初始化:
private static int[] _array = new int[4];
// An arbitrary amount of code
{
_array[0] = 10;
_array[1] = 20;
_array[2] = 30;
_array[3] = 40;
}
这种形式的初始化称为什么?它有什么局限性?
最佳答案
这是使用 initializer block 的实例成员初始化,它看起来很像静态初始化,它会在该 block 前面加上单词 static
。
它的限制将与任何构造函数相匹配,因为 Java 编译器将初始化 block 复制到每个构造函数中。因此,这种方法可用于在多个构造函数之间共享代码块。
关于java - 初始化一个java数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5558686/