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 :
Et là : maClasse est une ClasseMere non castable en ClasseFille !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"});
En revanche, si je supprime le getSuperclass() :
Je me chope une exception car le constructeur n'est pas trouvé dans la ClasseFille...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"});
Y a t'il une solution autre que de redéclarer les contructeur dans la ClasseFille ?
Merci d'avance et bonne journée![]()
Partager