HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Разберемся в устройстве классов из которых создают объекты на примере кода:</p>
1 <p>Разберемся в устройстве классов из которых создают объекты на примере кода:</p>
2 <p>Первая строчка - это создание объекта из класса. За это отвечает оператор new. Затем идет "вызов" класса как функции с передачей туда аргументов. В реальности класс, конечно же, не вызывается. Вызывается конструктор класса, специальный метод, определенный внутри класса и имеющий такое же имя как и класс:</p>
2 <p>Первая строчка - это создание объекта из класса. За это отвечает оператор new. Затем идет "вызов" класса как функции с передачей туда аргументов. В реальности класс, конечно же, не вызывается. Вызывается конструктор класса, специальный метод, определенный внутри класса и имеющий такое же имя как и класс:</p>
3 <p>Конструктор нужен для инициализации объекта. В нашем примере нужно записать данные пользователя так, чтобы они остались внутри даже после завершения выполнения конструктора. Для этого потребуются свойства:</p>
3 <p>Конструктор нужен для инициализации объекта. В нашем примере нужно записать данные пользователя так, чтобы они остались внутри даже после завершения выполнения конструктора. Для этого потребуются свойства:</p>
4 <p>Свойства выглядят как переменные, определенные внутри класса ("на уровне класса") с добавленными к ним модификаторами доступа, как у методов. Как они заполняются? Через конструктор во время создания объекта:</p>
4 <p>Свойства выглядят как переменные, определенные внутри класса ("на уровне класса") с добавленными к ним модификаторами доступа, как у методов. Как они заполняются? Через конструктор во время создания объекта:</p>
5 <p>Обратите внимание на this - это указатель на текущий объект. Через него мы можем читать и записывать свойства, а также вызывать методы нашего объекта. Зачем это нужно? Без this код выглядит так name = value, то есть как установка значения в обычную переменную. Такой код приводил бы к путанице.</p>
5 <p>Обратите внимание на this - это указатель на текущий объект. Через него мы можем читать и записывать свойства, а также вызывать методы нашего объекта. Зачем это нужно? Без this код выглядит так name = value, то есть как установка значения в обычную переменную. Такой код приводил бы к путанице.</p>
6 <p>Свойства хранят данные объектов, причем у каждого объекта они свои. Если мы создадим двух пользователей, то между собой они никак не будут взаимодействовать, так как this указывает на конкретный объект:</p>
6 <p>Свойства хранят данные объектов, причем у каждого объекта они свои. Если мы создадим двух пользователей, то между собой они никак не будут взаимодействовать, так как this указывает на конкретный объект:</p>
7 <p>Свойства можно не только читать, но и менять:</p>
7 <p>Свойства можно не только читать, но и менять:</p>
8 <h2>Конструктор по умолчанию</h2>
8 <h2>Конструктор по умолчанию</h2>
9 <p>Иногда у объектов начальная инициализация необязательна, либо ее вообще нет. В таком случае определять конструктор не нужно, так как Java определяет для каждого класса конструктор по умолчанию. Это обычный конструктор, но без параметров:</p>
9 <p>Иногда у объектов начальная инициализация необязательна, либо ее вообще нет. В таком случае определять конструктор не нужно, так как Java определяет для каждого класса конструктор по умолчанию. Это обычный конструктор, но без параметров:</p>
10 <h2>Перегрузка конструктора</h2>
10 <h2>Перегрузка конструктора</h2>
11 <p>Перегрузка методов распространяется и на конструктор. В зависимости от ситуации можно добавлять любые конструкторы, которые удобно.</p>
11 <p>Перегрузка методов распространяется и на конструктор. В зависимости от ситуации можно добавлять любые конструкторы, которые удобно.</p>
12 <p>Про перегрузку конструктора полезно знать из-за частого использования в существующих классах, с которыми вам предстоит работать. Поэтому мы ее затрагиваем уже сейчас.</p>
12 <p>Про перегрузку конструктора полезно знать из-за частого использования в существующих классах, с которыми вам предстоит работать. Поэтому мы ее затрагиваем уже сейчас.</p>