补充之前所写的反射,当我们知道反射所去调用的方法名字,传参等
直接使用getmethod()方法去调用
如果不知道呢?可以用数组来直接反射获取所有的方法,然后在做判断输出各个方法名字
调用getMethods()
也可以获取到方法所需要的参数,这里写了一个GetMethods类来实现:
package reflect; import java.lang.reflect.Method; public class GetMethods { public static void main (String[] args )throws Exception{ Class<?> my = Class.forName("reflect.Study"); Method[] methods = my.getDeclaredMethods(); for(Method method:methods){ System.out.println("方法名:"+method.getName()); Class<?>[] getTypes = method.getParameterTypes(); if(getTypes.length ==0){ System.out.println(method.getName()+"方法无参数"); } for (Class<?> lei:getTypes){ String parameterName = lei.getName(); System.out.println("参数类型:"+parameterName); } System.out.println("-------------------------"); } } }
这里以反射Stduy类为例,
运行结果: