Bonjour tout le monde,
je voudrais comprendre pourquoi le code suivant écris "5" et pas "6"...
Pour ma part, dans la main, t.getObject retourne une instance de B1, et x de B1 vaut 6.
Merci pour tous vos réponses!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 class A1 { public int x=5; } class B1 extends A1{ public int x=6; } public class test{ public int x=0; public A1 getObject(){ return new A1(); } public static void main(String[] args) { test t=new testT(); System.out.println(t.getObject().x); } } class testT extends test{ public B1 getObject(){ return new B1(); } }
Partager