Инициализация массива Java - PullRequest
2 голосов
/ 06 апреля 2011

Недавно я обнаружил, что массив можно инициализировать следующим образом:

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 ]

3 голосов
/ 06 апреля 2011

Это инициализация элемента экземпляра с использованием блока инициализатора , и она очень похожа на статическую инициализацию, которая префиксирует этот блок словом static.

Его ограничения будут соответствовать ограничениям любого конструктора, поскольку компилятор Java копирует блоки инициализатора в каждый конструктор. Следовательно, этот подход можно использовать для разделения блока кода между несколькими конструкторами.

1 голос
/ 06 апреля 2011

Это блок инициализации и в отношении документации :

Компилятор Java копирует блоки инициализатора в каждый конструктор.Таким образом, этот подход можно использовать для разделения блока кода между несколькими конструкторами

Я отвечал вчера в аналогичном посте здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...