补充之前所写的反射,当我们知道反射所去调用的方法名字,传参等

直接使用getmethod()方法去调用

java 通过反射获取属性类型 java反射获取所有get方法_方法名

 

 

如果不知道呢?可以用数组来直接反射获取所有的方法,然后在做判断输出各个方法名字

调用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类为例,

java 通过反射获取属性类型 java反射获取所有get方法_java_02

 

 

运行结果:

java 通过反射获取属性类型 java反射获取所有get方法_方法名_03