Héritage - Méthode private et public
Bonjour à tous,
Je n'arrive pas bien à comprendre l'héritage avec une méthode privé, public et protected.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
class A {
public void machin() { truc(); }
private void truc() {
System.out.println("truc de A");
}
}
class B extends A {
private void truc() {
System.out.println("Truc de B");
}
}
class Test {
public static void main (String [] args) {
A a = new A();
a.machin();
B b = new B();
b.machin();
a=b;
a.machin();
}
} |
Si je mets ce code là, les résultats obtenus sont :
Citation:
truc de A
truc de A
truc de A
Code suivant :
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 {
public void machin() { truc(); }
private void truc() {System.out.println("truc de A");
}
}
class B extends A {
public void truc() {
System.out.println("Truc de B");
}
}
class test {
public static void main (String [] args) {
A a = new A();
a.machin();
B b = new B();
b.machin();
a=b;
a.machin();
}
} |
J'ai également le même résultat :
Citation:
truc de a
truc de a
truc de a
Si quelqu'un pourrait m'expliquer comment puis-je comprendre le résultat obtenu. J'ai dû mal comprendre la façon de faire avec des champs non-public.
D'avance, je vous remercie.