bonjour
voici un programme :
Code:class A { int n = 1; float x; } class B extends A { int n = 2; double x; void affiche() { System.out.println("dans B n vaut " + n + " et le n de la classe A vaut " + super.n); } } class Masquage { public static void main(String[]arg) { B b = new Inf(); A a = b; b.affiche(); System.out.println("a.n vaut " + a.n); System.out.println("b.n vaut " + b.n); } }
lors de l'execution on a :
dans B n vaut 2 et le n de la classe A vaut 1
b.n vaut 2
a.n vaut 1
pourriez vous m'expliquer pourquoi a.n vaut 1 ??
a est de type A mais on lui a affecté b qui est de type B??
merci
-----