Class A{
public void print(int a, int b){
...
}
public void print(String a, String b){
...
}
}
//获取print(int,int)方法
//1.要获取一个方法就是要获取类的信息,首先要获取类的类类型
A a1 = new A();
Class c = a1.getClass();
//2.获取方法 名称和参数列表内决定
//getMethod获取的是public的方法
//getDeclaredMethod自己声明的方法
try{
Method m = c.getMethod("print", new Class[]{int.class,int.class});
//Method m = c.getMethod("print",int.class,int.class);
//方法的反射操作
//a1.print(10,20);方法的反射操作是用m对象来进行,和a1.print调用相同
//方法如果没有返回值返回null,有返回值返回具体的返回值
Object o =m.invoke(obj,new Object[]{10,20});
//Object o =m.invoke(obj,10,20);
}
方法的反射1)如何获取某个方法 方法的名称和方法的参数列表才能唯一决定某个方法2)方法反射的操作 method.invoke(对象,参数列表)Class A{ public void print(int a, int b){ ... } public void print(String a, String b){ ... }}