Java教程

java类反射获取成员方法

本文主要是介绍java类反射获取成员方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

//通过反射获取成员方法并使用
public class ReflectDemo5 {
    public static void main(String[] args) throws IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
        Class<Student> studentClass = Student.class;

        //获取公共方法
//        Method[] methods = studentClass.getMethods();
//        for (Method method : methods) {
//            System.out.println(method);
//        }

//        Method[] declaredMethods = studentClass.getDeclaredMethods();
//        for (Method declaredMethod : declaredMethods) {
//            System.out.println(declaredMethod);
//        }

        //获取单个方法并使用
        Student student = studentClass.newInstance();

        //获取各种方法
        Method method1 = studentClass.getMethod("method1");
        Method method2 = studentClass.getMethod("method2", String.class);
        Method method3 = studentClass.getMethod("method3", String.class, int.class);
        Method function = studentClass.getDeclaredMethod("function");
        //私有方法,暴力反射
        function.setAccessible(true);

        //使用反射获取的方法
        method1.invoke(student);
        method2.invoke(student,"方法2");
        System.out.println(method3.invoke(student,"gfx",24));
        function.invoke(student);
    }
}


这篇关于java类反射获取成员方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!