Bonjour, j'ai un problème concernant la redéfinition de variable d'instance.
Voici le code d'exemple de la classe Test1
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());
	}
}
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
 
public class Test2 extends Test1{
 
	private Integer var;
 
	public Test2()
	{
		super();
		var = new Integer(1);
	}
}
voici la sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
class java.lang.String
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.

Par contre si je defini la méthode displayType() dans Test2 la sortie est bien "java.lang.Integer"

Merci d'avance à tous