Pourquoi est-constructeur de la super classe appelée lorsque nous déclarons l'objet de la sous-classe? (Java)

Considérer ce code:

class Test {
    Test() {
        System.out.println("In constructor of Superclass");
    }

    int adds(int n1, int n2) {
        return(n1+n2);
    }

    void print(int sum) {
        System.out.println("the sums are " + sum);
    }
}


class Test1 extends Test {
    Test1(int n1, int n2) {
        System.out.println("In constructor of Subclass");
        int sum = this.adds(n1,n2);
        this.print(sum);
    }

    public static void main(String[] args) {
        Test1 a=new Test1(13,12);
        Test c=new Test1(15,14);
    }
}

Si nous avons un constructeur de la super classe, il sera appelé par chaque objet que nous construisons pour les enfants de la classe (ex. Objet a pour la classe Test1 appels Test1(int n1, int n2) et ainsi que son parent Test()).

Pourquoi cela se produit?

La sortie de ce programme est:

Dans le constructeur de la Superclasse

Dans le constructeur de la sous-classe

les sommes sont 25

Dans le constructeur de la Superclasse

Dans le constructeur de la sous-classe

les sommes sont 29

InformationsquelleAutor aman_novice | 2011-08-24