在java中我以字符串的形式知道了类的路径和里面方法名及参数个数,怎么才能执行这个类
来源:百度知道 编辑:UC知道 时间:2024/05/26 10:07:29
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
class Test{
public static void main(String[] args) {
//知道类的名称
String methodName = "eat";//方法名字
String methodAglet = "苹果";//方法参数
try {
Object obj = Class.forName("Dog").newInstance();
if(obj.equals(null))return;
Method[] methods = obj.getClass().getMethods();
int i = 0;
for (i = 0; i < methods.length; i++) {
if(methods[i].getName().equals(methodName)) break;
}
methods[i].invoke(obj, new Object[]{methodAglet});
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.prin