Files
obsidian/Программирование на Java/ООП/Конструкторы.md
T
roma-dxunvrs 0e6e583e6d
deploy / Pull and Restart (push) Successful in 17s
refactor: wiki links -> md links
2026-09-22 08:52:23 +03:00

26 lines
1.4 KiB
Markdown

- Конструктор - специальный метод для инициализации полей объекта
- Имя совпадает с именем класса
- Нет возвращаемого типа
- Вызывается оператором new()
## Конструктор по умолчанию
- Если в классе не определен конструктор, компилятор автоматически добавит пустой конструктор без параметров
- Если определен любой конструктор, то конструктор по умолчанию добавляться не будет
## Перегрузка конструкторов
Конструкторы, как и методы, можно [перегружать](Полиморфизм/Ad-hoc%20(перегрузка).md)
```Java
public class Rectangle {
private double width, height;
public Rectangle(double w, double h) {
width = w;
height = h;
}
public Rectangle() { // перегрузка
this(1.0, 1.0);
}
}
```
## Private конструктор
Контроль над созданием объектов
Объект либо один, либо ограниченное количество (используется, например в [Singleton](../Паттерны%20проектирования/Singleton.md))