В конструкторе производного класса можно вызывать конструктор базового класса при помощи ключевого слова super.
Если в конструкторе подкласса отсутствует явный вызов конструктора суперкласса при помощи super, то компилятор неявно подставляет вызов конструктора суперкласса без параметров.
В таком случае если у суперкласса отсутствует конструктор без параметров, то ещё на этапе компиляции возникнет ошибка.
При помощи ключевого слова super можно вызвать любой из существующих конструкторов суперкласса, например:
class enemy
{
int health;
int power;
enemy (int health, int power)
{
this.health = health;
this.power = power;
}
}
class robot : enemy
{
int ai_level;
robot (int health, int power, int ai_level)
{
// Явно вызываем нужный нам конструктор суперкласса.
super(health, power);
this.ai_level = ai_level;
}
}