Bonjour, j'ai un problème concernant la redéfinition de variable d'instance.
Voici le code d'exemple de la classe Test1
et de la classe Test2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class Test1 { private String var; public Test1() { var = new String ("test"); } public void displayType() { System.out.println(var.getClass().toString()); } }
voici la sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class Test2 extends Test1{ private Integer var; public Test2() { super(); var = new Integer(1); } }
Voici donc mon problème : Pourquoi la sortie est "class java.lang.String" et non "class java.lang.Integer" ? Il devrait bien y avoir redéfinition.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2class java.lang.String
Par contre si je defini la méthode displayType() dans Test2 la sortie est bien "java.lang.Integer"
Merci d'avance à tous
Partager