Le principe de la liaison dynamique

           

On considère l'ensemble de classes ci-dessous. L'objectif est de savoir quelle est la sortie de la méthode main de la classe QuelleMethode.

Dans la méthode main :

class A {
       void faire() {
       System.out.println("niveau a");
    }
}


class B extends A {
        void faire() {
System.out.println("niveau b");
}
}

class C extends B {}

class QuelleMethode {
public static void main(String[] argv) {
A a;

a = new A();
a.faire(); // instruction 1
a = new B();
a.faire(); // instruction 2
a = new C();
a.faire(); // instruction 3
}
}

On obtient à l'exécution, avec notre programme :

niveau a
niveau b
niveau b

Le fichier QuelleMethode.java

© Irène Charon Télécom ParisTech 2012