Salut, je n'arrive pas à voir pourquoi je n'obtiens pas une référence sur le bon type avec le code suivant :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
public abstract class DimensionType{
  public static String info(){ return "abstractType"; }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
public class DimensionInt extends DimensionType{
  public static String info(){ return "Int Type"; }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
public abstract class Dimension <T extends DimensionType>{
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public class DimensionValues <T extends DimensionType> extends Dimension<T>{
  public DimensionValues(){
    System.out.println(T.info() + "");
  }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
public class Dumb { 
  public static void main(String [] args){
    DimensionValues<DimensionInt> d = new DimensionValues<DimensionInt>();
  } 
}
Et là, je m'attends à obtenir "Int Type" mais j'obtiens "Abstract Type".
Arghhh ! Une petite idée ?