Problème de coherence entre 'override de fonction et de variable
Bonjour,
Je potasse un bouquin sur Java 8, et un truc me semble étrange : quand je créé une classe et une classe fille, les 2 comportant une même variable et une même méthode ... :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
public class A{
public int nombre= 4;
public String getNom(){ return "A"; }
}
public class B extends A{
public int nombre= 8;
public String getNom(){ return "B"; }
public static void main(String[] args){
A obj= new B();
System.out.println("Nom : " + obj.getNom() + ", num : " + obj.nombre);
}
} |
=> Nom : B, num : 4
... la méthode utilisée est celle de la classe fille, mais la variable utilisée est celle de la classe mère !!
Pas très cohérent tout cela non ? :weird: