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 : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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(); }Quelqu'un connait la cause?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } }
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.
Partager