初始化java数组

时间:2011-04-05 21:20:53

标签: java arrays initialization

最近,我发现数组可以按如下方式初始化:

private static int[] _array = new int[4];

// An arbitrary amount of code

{ 
    _array[0] = 10;
    _array[1] = 20;
    _array[2] = 30;
    _array[3] = 40;
}

这种初始化形式叫什么?有什么限制?

2 个答案:

答案 0 :(得分:3)

这是使用initializer block的实例成员初始化,它看起来很像静态初始化,它会在该块前面添加单词static

它的限制将与任何构造函数的限制相匹配,因为Java编译器将初始化程序块复制到每个构造函数中。因此,这种方法可用于在多个构造函数之间共享代码块。

答案 1 :(得分:1)

这是初始化块,关于documentation

  

Java编译器复制初始化程序   阻塞到每个构造函数中。   因此,可以使用这种方法   共享一段代码   多个构造函数

我昨天在类似的帖子here

中回答