Sobes.tech
Junior — Middle
108

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

Spoločnosti boli požiadané
Банк РоссияБанк Россия

Odpoveď od 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().