Создание объекта с конструктором по умолчанию - PullRequest
1 голос
/ 16 октября 2010

Допустим, у меня есть этот класс:

public class PositionList {
    private Position[] data = new Position[0];
    private int size = 0;

Теперь допустим, что я создаю новый объект PositionList с конструктором по умолчанию, поэтому никаких аргументов вроде этого нет:новый объект списка имеет какие-либо атрибуты?У него есть компонент размера или компонент данных?Каковы его характеристики?

Ответы [ 4 ]

2 голосов
/ 16 октября 2010

Да, он будет использовать ваши инициализаторы. Таким образом, size будет равен нулю (это значение по умолчанию, поэтому установка его в 0 избыточна), а data будет массивом с 0 элементами (отличным от null ).

0 голосов
/ 16 октября 2010

Перед любым вызовом конструктора (по умолчанию или иным образом) все переменные экземпляра вашего объекта (например, данные и размер) будут инициализированы в их значения по умолчанию.Для объектов и массивов это значение равно нулю, для числовых типов - 0 или 0,0, для логических типов - значение false.

0 голосов
/ 16 октября 2010

Да, у него есть члены data и size, и они занимают место. Когда вы создаете объект с ctor по умолчанию, все члены создаются с использованием ctor по умолчанию.

0 голосов
/ 16 октября 2010

У него есть личные данные и поля размера, но вы не можете получить к ним доступ из-за пределов класса. Все общедоступное будет доступно.

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