Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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_Dynamic - Fatal编程技术网

在Java中动态调用静态函数

在Java中动态调用静态函数,java,dynamic,Java,Dynamic,我有一个用例,在两个不同的类中有两个静态函数。 现在我想动态调用其中一个函数 我知道如何动态地创建类的实例(通过class.forName()),但因为我处理的是静态函数,所以我不需要创建实例,所以有没有办法动态地调用这个静态函数?您真的不需要实例。下面是如何使用反射(=动态地调用它)使用一个字符串和一个布尔参数调用方法xyz: 试试看{ 最终类clazz=MyNiceClass.Class; 最终方法=clazz.getMethod(“xyz”,String.class,boolean.cla

我有一个用例,在两个不同的类中有两个静态函数。 现在我想动态调用其中一个函数


我知道如何动态地创建类的实例(通过class.forName()),但因为我处理的是静态函数,所以我不需要创建实例,所以有没有办法动态地调用这个静态函数?

您真的不需要实例。下面是如何使用反射(=动态地调用它)使用一个字符串和一个布尔参数调用方法
xyz

试试看{
最终类clazz=MyNiceClass.Class;
最终方法=clazz.getMethod(“xyz”,String.class,boolean.class);
最终对象结果=method.invoke(null,“hello”,true);
//做一些有结果的事情
}catch(IllegalAccessException | InvocationTargetException | NoSuchMethodException){
e、 printStackTrace();
}

请注意使用
null
来代替实例。

事实上,如果这只是两个函数,那么您的用例可能允许根据条件直接调用一个或另一个函数,而不是将类和方法传递给单个执行点