Подтвердить что ты не робот

Использование родительского конструктора в дочернем классе в Java

У меня есть класс "ChildClass", который расширяет класс "ParentClass". Вместо того, чтобы полностью заменить конструктор родительского класса, я хочу сначала вызвать конструктор родительского класса, а затем выполнить некоторую дополнительную работу.

Я считаю, что по умолчанию вызывается конструктор аргументов родительского класса 0. Это не то, что я хочу. Мне нужен конструктор для вызова с аргументом. Возможно ли это?

Я пробовал

this = (ChildClass) (new  ParentClass(someArgument));

но это не работает, потому что вы не можете изменить "this".

4b9b3361

Ответ 1

Вы можете ссылаться на родительский конструктор с "супер", изнутри дочернего конструктора.

public class Child extends Parent {
    public Child(int someArg) {
        super(someArg);
        // other stuff
    }
    // ....
}

Ответ 2

Чтобы вызвать конкретный конструктор родительского класса, поместите super(param1, param2, ...) в качестве первого оператора в тело конструктора дочернего класса.

Ответ 3

Вы должны использовать ключевое слово super.

public ChildClass(...) {
    super(...);
}