Je souhaite initialiser un tableau de méthodes Java dans la classe des enfants, comme un champ de classe comme siRéception d'une méthode Java sans utiliser getDeclaredMethod
void callme() {System.out.println("hi!");}
Method[] actions = new Method[] {&callme,&callme};
et appeler toutes les méthodes de ce tableau à la classe mère comme si:
for (meth:actions) {meth.invoke();}
Cependant je ne peux pas encore trouver un moyen d'initialiser implicitement le tableau des actions, et non par le constructeur. Ce qui suit me donne une erreur due à exception non gérée:
Method[] actions = new Method[] {
this.getClass().getDeclaredMethod("count")
};
Comme dit, je ne peux pas attraper l'exception lors de l'initialisation de ce tableau explicitement comme un champ, et non dans le constructeur. Je suis un débutant à la réflexion java, donc c'est probablement une question évidente, mais je n'ai pas trouvé de réponse à cela à google, toute aide serait appréciée.
Merci
P.S. Comme l'a supposé Scott ci-dessous, je "souhaite qu'une super-classe appelle un ensemble spécifique de méthodes définies dans une sous-classe".
Qu'est-ce que la Terre vous essayez de le faire ? –
Comme Scott ci-dessous deviné, j'essaie de "Si vous voulez une superclasse pour appeler un ensemble spécifique de méthodes définies dans une sous-classe" –