Héritage et méthode privée
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class A {
A() {
System.out.println("constructeur de A") ;
qqChose() ;
}
private void qqChose() {
System.out.println("appel de qqChose de A") ;
}
}
class B extends A {
B() {
System.out.println("constructeur de B") ;
}
void qqChose() {
System.out.println("appel de qqChose de B") ;
}
}
public class Herit06 {
public static void main(String [] args) {
B b = new B() ;
}
} |
Affichage :
Code:
1 2 3
| constructeur de A
appel de qqChose de A
constructeur de B |
Pourquoi à l'exécution il n'emploie pas la méthode qqChose() de la classe dérivée B, parce que la méthode dans la classe A est privée me direz-vous. C'est justement là que je coince. C'est une question d'examen à laquelle je n'ai pas su répondre. Merci à ceux qui pourront éclairer mes lanternes.