java方法反射的基本操作
方法的反射:
1.获取A类中的print(int,int)方法:
①要获取一个方法就是获取类的信息,获取类的信息首先要获取类的类类型
A a1=new A(); Class c= a1.getClass();
②获取方法 由名称和参数列表来决定,getMethod获取的是public方法,getDelcaredMethod获取自己声明的方法
Method m =c.getMethod(methodName,paramtypes);//paramtypes可以用数组的形式 表示new Class[]{int.class,int.class},也可以直接列举类类型
2.方法的反射操作:是用m对象来进行方法调用,和a1.print(10,20)调用的方法相同 m.invoke(a1,new Object[]{10,20})
Object o=m.invoke(对象名,参数);//方法如果没有返回值返回null,如果有返回值返回具体值,参数可用数组的方式表示,也可以直接列举,没有参数就不写
public Class A{
public void print(){};
public void Print(Sting a,String b){}
public void Print(int a,int b){};
}
public Class B{
public static void main(String[] args){
A a1 = new A(); Class c= a1.getclass;
Method getMet=c.getMethod("print",String.class,String.class);//忘了加引号
Object obj=getMet.invoke(a1,"df","df");
}
}
不经一番彻骨寒,哪有梅花扑鼻香?

浙公网安备 33010602011771号