c'est résolu:
public abstract AbstractInitCarte extends IInitCarte{ //IInitCarte interface de InitCarte
public IInitCarte getInstance(Carte carte)
try
{
Class classe = Class. forName ("com.app.InitCarte");//recupere la classe que l'on veut instancier
// Recuperation le constructeur de InitCarte qui prend en paramètre une classe carte
java.lang.reflect.Constructor constructeur =
classe.
getConstructor (new Class [] {Class.forName ("com.app.sa.Carte")});
initCarte = (IInitCarte)constructeur. newInstance (new Object [] {carte});
// j'ai fait un cast avec l'interface mais pas la classe.
}catch .....
return initCarte;
}
*******************
IInitCarte initCa = AbstractInitCarte.getInstance(carte);
initCa.getNom();
*****************
Et ca marche,
Merci,