Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 反射-调用_Java_Reflection - Fatal编程技术网

Java 反射-调用

Java 反射-调用,java,reflection,Java,Reflection,有班级: public class TestClass { public void testMethod() { } 我想把它传递给下面的executor方法,该方法应该调用它的testMethod public class SimpleUnitTester { public int executor(Class clazz) { Object clazzObject = clazz.newInstance(); for (Method

有班级:

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)); <--
        }
    }
}
公共类SimpleUnitTester{
公共int执行器(clazz类){
Object clazzObject=clazz.newInstance();
对于(方法m:clazz.getDeclaredMethods()){

m、 调用(clazzObject));它可以工作,但您可能会错误地调用它。将实现添加到
testMethod
以查看它是否已执行

public void testMethod() {
    System.out.println("Hi, I have been executed ^^");
}
executor(Class clazz)
方法的返回类型更改为
void
,并按原样调用它:

executor(TestClass.class);