Назад к вопросам
Junior
69
questionbank
В чем разница между конструктором по умолчанию, конструктором копирования и конструктором с параметрами?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
-
Конструктор по умолчанию: Создается компилятором автоматически, если в классе нет других конструкторов. Не принимает параметров и инициализирует поля значениями по умолчанию (0 для числовых типов,
falseдля boolean,nullдля объектов). -
Конструктор копирования: Создает новый объект, который является копией существующего объекта того же класса. Принимает один аргумент — ссылку на объект, который нужно скопировать.
-
Конструктор с параметрами: Позволяет инициализировать поля объекта при его создании, передавая значения в виде аргументов. Может иметь любое количество параметров различных типов.
// Пример: класс Car
class Car {
private String brand;
private int year;
// Конструктор по умолчанию (неявный, но можно объявить явно)
public Car() {
// Инициализация по умолчанию
this.brand = null;
this.year = 0;
}
// Конструктор с параметрами
public Car(String brand, int year) {
this.brand = brand;
this.year = year;
}
// Конструктор копирования
public Car(Car otherCar) {
this.brand = otherCar.brand;
this.year = otherCar.year;
}
// Геттеры, сеттеры и другие методы
public String getBrand() {
return brand;
}
public int getYear() {
return year;
}
}