Pascal4eg / Java

 Java | Фишки и трюки

Наследование конструкторов

public class SuperClass {
    public SuperClass(int value) {
        // инициализация суперкласса
    }
}
        
class SubClass extends SuperClass {
    public SubClass(int value) {
        super (value); // вызываем конструктор суперкласса
        // инициализация подкласса
    }
}

В Java конструкторы не наследуются в том смысле, в котором наследуются методы и поля. Конструкторы - это специальные методы, используемые для инициализации объектов класса, и они не наследуются автоматически от суперкласса.

Однако в подклассе вы можете вызвать конструктор суперкласса с помощью ключевого слова super. Это позволяет вам использовать конструкторы суперкласса для инициализации наследуемых полей и выполнения дополнительных операций, связанных с наследованием.

Таким образом, если вы хотите в подклассе сохранить все конструкторы суперкласса, то их нужно явно объявить в подклассе.