Instancier une classe étendant une classe abstraite / Generics
Bonjour,
Je cherche à jouer avec les types paramétrables de Java mais je n'arrive pas à faire ce que je veux.
J'ai une classe abstraite Model étendue par d'autres classes possédant toutes un constructeur vide. Voilà ma classe Model dans l'idéal :
Code:
1 2 3 4 5 6 7 8 9 10 11
| public abstract class Model {
Model(){
}
public static <T extends Model> T get(String id, XSession session) {
T m = null;
m = new T();
return m;
}
} |
Sauf que je ne peux pas faire "m = new T();"
Ce que je souhaiterais, c'est que la méthode "get" appelée par une des classes héritant de Model renvois un objet du type héritant.
Par exemple une classe Member :
Code:
1 2 3
| public class Member extends Model {
public Member(){}
} |
Je souhaiterais que la méthode Member.get(String id, XSession session) me renvois un objet de type Member.
Il y a peut-être quelque-chose du côté java.lang.reflect mais je n'ai pas réussi à trouver l'astuce.
Merci d'avance.