Konstruktor i niejawne super()

0
package nazwa;

public class Animal {
    public Animal(int age) {
        System.out.print("Animal");
    }
}
package zwierze;

import nazwa.Animal;

public class Lion extends Animal {

    public Lion(int age) {
        System.out.print("Lion ");
    }

    public static void main(String[] args) {
        new Animal(5);

    }
}

I to się nie kompiluje. Jak rozumiem to jest przez to, że kompilator domyślnie dodaje w tym konstruktorze Lion - super(); ?
I dopiero po jawnym wywołaniu super(6); - zadziała.
Albo po dodaniu do Animala bezargumentowego konstruktora?

Czy dobrze to rozumiem?

2

W Animal dodales konstruktor inny niz bezargumentowy przez co defaultowego bezargumentowego juz nie ma jesli go jawnie nie zdefiniujesz.

W Lion niejawnie chce dodac super() (bezargumentowy) ale takiego nie ma bo Animal takiego nie ma.

Podsumowujac: dobrze rozumiesz ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1