Sobes.tech
Junior — Middle
65

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

Companies where asked
Банк РоссияБанк Россия

Answer from AI

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().