这样写(假设方法的参数是String[],如main(String[] args)):
Class yourClass = Class.forName("YourClass");//假设你要动态加载的类为YourClass
Class[] parameterTypes = new Class[1];//这里你要调用的方法只有一个参数
parameterTypes[0] = String[].class;//这个参数的类型是String型的/////应该是String[]
Method method = yourClass.getMethod("main", parameterTypes);//这里假设你的类为YourClass,而要调用的方法是main
Object[] args = new Object[1];//假设你要传入两个参数////应该是一个
String[] argments = new String[2];//假设你要传入两个参数
argments[0] = "OK";
argments[1] = "NO";
args[0] = argments;
method.invoke(yourClass.newInstance(), args);//调用方法
Class yourClass = Class.forName("YourClass");//假设你要动态加载的类为YourClass
Class[] parameterTypes = new Class[1];//这里你要调用的方法只有一个参数
parameterTypes[0] = String[].class;//这个参数的类型是String型的/////应该是String[]
Method method = yourClass.getMethod("main", parameterTypes);//这里假设你的类为YourClass,而要调用的方法是main
Object[] args = new Object[1];//假设你要传入两个参数////应该是一个
String[] argments = new String[2];//假设你要传入两个参数
argments[0] = "OK";
argments[1] = "NO";
args[0] = argments;
method.invoke(yourClass.newInstance(), args);//调用方法
本文介绍了一种在Java中通过反射动态调用类方法的技术。具体步骤包括:加载类、获取方法签名、创建参数数组、调用方法并传递参数。
183

被折叠的 条评论
为什么被折叠?



