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>