Зачем мне нужно звонить super
?Почему вызов супер() в конструкторе дочернего класса?
class Animal {
public Animal(String arg) {
System.out.println("Constructing an animal: " + arg);
}
}
class Dog extends Animal {
public Dog() {
super("From Dog constructor");
System.out.println("Constructing a dog.");
}
}
Поскольку компилятор не вставляет конструктор ** по умолчанию **, если вы предоставляете конструктор. Таким образом, «Animal» не имеет пустого конструктора. –