Manager类中有一个私有的静态方法,在Test中去调用它:
public class Manager {
private static int add(int a,int b){
return a+b;
}
}
public class Test {
main(){
Class[] args = {int.class,int.class};
try {
Manager manager = new Manager();
Method method = manager.getClass().getDeclaredMethod("add", args);
//由于method是一个private方法,因此要设置access
method.setAccessible(true);
//第一个参数为null,因为该方法为静态方法,不需要传入一个实例
int sum = (Integer) method.invoke(null,3,5);
System.out.println("sum="+sum);
} catch (Exception e) {
e.printStackTrace();
}
}
}