Философия Java


Массивы - первоклассные объекты - часть 3


О следующей инициализации массива можно думать, как о “динамической групповой инициализации”. Групповая инициализация, использованная для d, должна использоваться в точке определения d, но со вторым синтаксисом вы можете создавать и инициализировать объекты где угодно. Например, предположим, есть метод hide( ), который принимает массив объектов Weeble. Вы можете вызвать его, сказав:

hide(d);

но вы можете также динамически создать массив, который вы хотите передать в качестве аргумента:

hide(new Weeble[] { new Weeble(), new Weeble() });

В некоторых ситуациях этот новый синтаксис обеспечивает более удобный способ для написания кода.

Выражение:

a = d;

показывает, как вы можете получить ссылку, которая присоединена к массиву объектов, и присвоить ее другому массиву объектов, также как вы делаете это с другими типами ссылок на объекты. Теперь и a, и d указывают на один и тот же массив объектов в куче.

Вторая часть ArraySize.java показывает, что массив примитивов работает точно так же, как и массив объектов, за исключением того, что массив примитивов содержит значения примитивов напрямую.




Начало  Назад  Вперед



Книжный магазин