方法的反射
方法的名称和其参数列表才能唯一决定某个方法
Method 对象中有个 invoke( 对象,参数列表 )
A a = new A();
Method m =a.getMethod("方法名",new Class[]{int.class,"参数类型".class});//获取方法的的Method对象 参数列表使用数组或者挨个列出。
getDelcaredMethod("xxx",...);
方法的反射就是使用m,来调用方法。
m.invoke(a,new Object[]{xxx,xxx});
通过Class,Method来了解泛型的本质
JAVA中集合的泛型是防止错误输入的,只在编译阶段有效,绕过编译就无效了。
可以绕过编译,向一个泛型为String的list中放入int型。
Method m = c1.getMethod("add",Object.class);
m.invoke(list1,20);