我希望在子类中初始化一个Java方法的数组作为类字段,如下所示。
void callme() {System.out.println("hi!");}
Method[] actions = new Method[] {&callme,&callme};
并在父类中这样调用该数组中的所有方法:
for (meth:actions) {meth.invoke();}
然而目前我找不到一种隐式初始化操作数组的方法,而不是通过构造函数。以下操作会因为未处理的异常而导致错误:
Method[] actions = new Method[] {
this.getClass().getDeclaredMethod("count")
};
就如前面所述,当以字段形式显式初始化数组,而非在构造函数中时,我无法捕获异常。
我是Java反射的新手,所以这可能是一个很明显的问题,但我在谷歌上找不到答案,任何帮助将不胜感激。
谢谢 (xiè xiè)
P.S. (附言)
正如下面的Scott所猜测的那样,我“想要一个超类调用在子类中定义的特定一组方法”。