Ответ
Да, конструкторы в Java можно перегружать. Перегрузка конструктора — это создание нескольких конструкторов в одном классе с разными списками параметров (по количеству, типам или порядку). Компилятор выбирает подходящий конструктор на основе переданных аргументов.
Пример перегрузки:
public class Person {
private String name;
private int age;
// Конструктор по умолчанию
public Person() {
this.name = "Unknown";
this.age = 0;
}
// Конструктор с одним параметром
public Person(String name) {
this.name = name;
this.age = 0;
}
// Конструктор с двумя параметрами
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
Ключевые моменты:
- Цель перегрузки — предоставить разные способы инициализации объекта.
- Конструкторы могут вызывать друг друга через
this(...)для избежания дублирования кода. - Если в классе не объявлен ни один конструктор, компилятор автоматически добавляет публичный конструктор по умолчанию без параметров.