InstantiationException lancée par l'instruction newInstance()
Bonjour,
J'ai des classes concrètes qui héritent d'une même classe abstract. Comme le programme récupère le nom de ces classes dynamiquement (dans un fichier xml), je ne peux faire de "new MaClasse(...);". Je passe donc par
Code:
Class.forName(nomDeClasseConcrete).newInstance()
.
Cependant l'exception java.lang.InstantiationException est lancée. Or d'après la javadoc, ce problème est dû à la tentative d'instancier une classe abstract ou une interface.
Pourtant même si elles héritent d'une classe abstract, mes classes à instancier sont bien concrètes.
Code:
1 2 3 4 5 6 7
| public abstract class Action {
private Model model;
public Action(Model model) { this.model = model; }
public abstract String getName();
public abstract Object executer();
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| //La classe concrète
public class Fax extends Action{
public Fax(Model model){
super(model);
}
public String getIntitule() {
return getClass().getName();
}
public Object executer(){
return null;
}
public String getName() {
return getClass().getName();
}
} |
Quelqu'un connait la cause?
Grâce à la recherche, j'ai vu qu'une autre personne de ce forum avec eu ce problème et puis l'avait résolu mais sans savoir comment... :?
Je vous remercie.