[Reflexion] Constructeur dans classe mère
Bonjour tout le monde,
Je n'arrive pas à trouver la solution de ce problème... qui commence à m'embéter sérieusement.
J'ai 2 classes :
ClasseFille qui étends ClasseMere
ClasseMere à un constructeur public avec pour signature (Namespace, Document)
ClasseFille n'à pas de constructeur.
En réflexion je veux créer ma classeFille donc si je fais comme ça :
Code:
1 2 3 4 5 6
| Class classe = Class.forName("ClasseFille");
Constructor constructor = classe.getSuperclass().getDeclaredConstructor(new Class[] {
Class.forName("org.jdom.Namespace"),
Class.forName("org.jdom.Document")
});
Object maClasse = constructor.newInstance(new Object[]{"monNameSpace", "maTransaction"}); |
Et là : maClasse est une ClasseMere non castable en ClasseFille ! :?
En revanche, si je supprime le getSuperclass() :
Code:
1 2 3 4 5 6
| Class classe = Class.forName("ClasseFille");
Constructor constructor = classe.getDeclaredConstructor(new Class[] {
Class.forName("org.jdom.Namespace"),
Class.forName("org.jdom.Document")
});
Object maClasse = constructor.newInstance(new Object[]{"monNameSpace", "maTransaction"}); |
Je me chope une exception car le constructeur n'est pas trouvé dans la ClasseFille... :aie:
Y a t'il une solution autre que de redéclarer les contructeur dans la ClasseFille ?
Merci d'avance et bonne journée :)