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 : 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;
	}
}
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.