获取方法的方法


public class Users {    private String username;    private int userage;    public int heigh;    private int getHeigh() {        return heigh;    }    private void setHeigh(int heigh) {        this.heigh = heigh;    }    public Users(){    }    public Users(String username,int userage){        this.userage=userage;        this.username=username;    }    private Users(int userage){        this.userage=userage;    }    public Users(String username){        this.username=username;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public int getUserage() {        return userage;    }    public void setUserage(int userage) {        this.userage = userage;    }}
如何获取类的方法
import java.lang.reflect.Method;public class GetMethod {    public static void main(String[] args) throws Exception {        Class clazz = Users.class;        Method[] methods=clazz.getDeclaredMethods(); //获取所有方法,包括pribate类型方法        for(Method m:methods){            System.out.println(m);            System.out.println(m.getName());        }        System.out.println("-------------------");        Method[] methods1=clazz.getMethods(); //获取所有方法,不包括private方法        for(Method m:methods1){            System.out.println(m);            System.out.println(m.getName());        }        System.out.println("---------------------");        Method method=clazz.getDeclaredMethod("setHeigh", int.class);        System.out.println(method.getName());        System.out.println("---------------------------");        Method method1 = clazz.getMethod("setUserage", int.class);        System.out.println(method1.getName());    }}
获取后调用方法
import java.lang.reflect.Method;public class GetMethod2 {    public static void main(String[] args) throws Exception {        Class clazz = Users.class;        Method method = clazz.getMethod("setUserage", int.class);        //实例化对象        Object obj = clazz.newInstance();        //通过setUserage赋值        method.invoke(obj,66);        //通过getUserage获取值        Method method1 =clazz.getMethod("getUserage");        Object value = method1.invoke(obj);        System.out.println(value);    }}