说我有以下课程
<button type="submit" id="gen" class="btn btn-primary" onclick="getval();">
假设每个响应都会被添加到队列中,然后返回一些在该队列上完成的内容。
因此,我不是手动调用每个方法,而是希望有一个检查器方法数组,并自动循环遍历它们,传入行,并将响应添加到队列中。
这可以实现吗?
答案 0 :(得分:2)
您可以将Action实现为界面:
public interface Action{
public void fireAction();
}
那些实现Action的类将覆盖接口中定义的方法,例如检查String。
将Action的实例添加到列表中,然后相应地循环它们。
示例:
for(Action a : actions)
a.fireAction();
答案 1 :(得分:0)
如果我理解你的问题,那么下面的代码可能对你有帮助。
import java.lang.reflect.Method;
public class AClass {
private void aMethod(){
System.out.println(" in a");
}
private void bMethod(){
System.out.println(" in b");
}
private void cMethod(){
System.out.println(" in c");
}
private void dMethod(){
System.out.println(" in d");
}
//50 more methods.
//method call the rest
public void callAll() {
Method[] methods = this.getClass().getDeclaredMethods();
try{
for (Method m : methods) {
if (m.getName().endsWith("Method")) {
//do stuff..
m.invoke(this,null);
}
}
}catch(Exception e){
}
}
public static void main(String[] args) {
AClass a=new AClass();
a.callAll();
}
}
这里使用Java Reflection。