反思 - 调用

时间:2017-11-21 10:57:20

标签: java reflection

上课:

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 个答案:

答案 0 :(得分:1)

它有效,但你可能称错了。将实现添加到testMethod以查看它是否已执行。

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

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

executor(TestClass.class);