补充之前所写的反射,当我们知道反射所去调用的方法名字,传参等
直接使用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类为例,
运行结果: