有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java反射调用

有班级:

public class TestClass {
    public void testMethod() {
    }

我想把它传递给下面的executor方法,该方法应该调用它的testMethod

public class SimpleUnitTester {
    public int executor(Class clazz) {
        Object clazzObject = clazz.newInstance();
        for (Method m : clazz.getDeclaredMethods()) {
            m.invoke(clazzObject)); <--
        }
    }
}

但这显然是错误的。正确的方法是什么

谢谢


共 (1) 个答案

  1. # 1 楼答案

    这是可行的,但你可能会说它错了。将实现添加到testMethod以查看它是否已被执行

    public void testMethod() {
        System.out.println("Hi, I have been executed ^^");
    }
    

    executor(Class clazz)方法的返回类型更改为void,并按原样调用它:

    executor(TestClass.class);