java getMethod与invoke

这样写(假设方法的参数是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);//调用方法

 

=====================================================

 

Employee是一个类,getName和raiseSalary是该类中的方法,现在通过Class类的getMethod方法获得获得这两个方法的方法指针,调用如下

Method m1=Employee.class.getMethod("getName");
Method m2=Employee.class.getMethod("raiseSalary",double.class);
这里的class是一个字段,表示这个类对应的Class类的对象,再调用其中的getMethod()返回的是类中公共的成员方法,

你可能感兴趣的:(method)