Sobes.tech
Junior — Middle

È definito in una classe astratta un costruttore per l'inizializzazione dei suoi eredi?

sobes.tech AI

Risposta dell'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().