Extrait du cours :
}
classExo19_1_2{
public static void main(String[] args){
new Cinquieme();
Terminal.ecrireStringln(« ========================== === »);
new Sixieme();
}
}
1. prédisez ce que ce programme afche.
2. compilez et exécutez ce programme pour vérier vos prédic tions.
constructeur de Premiere
constructeur de Cinquieme
=============================
constructeur de Premiere
constructeur de Cinquieme
constructeur de Sixieme Quand il n’y a pas d’appel explicite à un constructeur de la su per-classe, le constructeur
sans paramètre de la super-classe est appelé.
Question 3
Le programme suivant provoque une erreur à la compilation : l a classe Huitieme est incorrecte.
classSeptieme extendsPremiere{
Septieme( inti){
Terminal.ecrireStringln(« constructeur
de Septieme »);
}
}
class Huitieme extendsSeptieme{
Huitieme(){ Terminal.ecrireStringln(« constructeur
de Huitieme »);
}
}
Essayez de trouver l’erreur. Si vous n’y arrivez pas, essaye z de compiler ce programme : le mes-
sage d’erreur peut vous mettre sur la voie.
> javac Exo19_1_3.java
Exo19_1_3.java:7: cannot find symbol
symbol : constructor Septieme()
location: class Septieme Huitieme(){ ^
1 error
Le constructeur de Huitiemene fait pas d’appel explicite à un constructeur de sa super-
classe Septieme . Dans ce cas, il y a un appel implicite au constructeur sans pa ramètre de
Septieme , or ce constructeur n’existe pas.
NFA032 c
CNAM 2012 3