Sobes.tech
Junior — Middle
82

Определен ли в абстрактном классе конструктор для инициализации его наследников?

Компании, где спрашивали
Банк РоссияБанк Россия

Ответ от нейросети

sobes.tech AI

В Java абстрактный класс может иметь конструктор, который используется для инициализации полей или выполнения общей логики при создании объектов его подклассов. Хотя абстрактный класс сам по себе не может быть инстанцирован напрямую, его конструктор вызывается при создании объекта наследника.

Пример:

abstract class Animal {
    String name;

    public Animal(String name) {
        this.name = name;
    }
}

class Dog extends Animal {
    public Dog(String name) {
        super(name); // вызов конструктора абстрактного класса
    }
}

Таким образом, конструктор абстрактного класса служит для инициализации общих свойств, и наследники вызывают его через super().