将类方法传递给另一个类方法

时间:2017-10-25 05:20:00

标签: java

说我有以下课程

<button type="submit"  id="gen" class="btn btn-primary" onclick="getval();">

假设每个响应都会被添加到队列中,然后返回一些在该队列上完成的内容。

因此,我不是手动调用每个方法,而是希望有一个检查器方法数组,并自动循环遍历它们,传入行,并将响应添加到队列中。

这可以实现吗?

2 个答案:

答案 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。