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 :
Sauf que je ne peux pas faire "m = new T();"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; } }
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 :
Je souhaiterais que la méthode Member.get(String id, XSession session) me renvois un objet de type Member.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public class Member extends Model { public 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.
Partager