反射之------获取当前运行时类的指定方法及其赋值和获取属性值的操作

package com.heima.userJSTL;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class GetMethod {
    public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InstantiationException, InvocationTargetException {
        //获取当前运行时类的指定方法并且进行赋值和获取属性值
        //这里直接使用开发中常用的方法
        Class<Person> aClass = Person.class;
        Method show = aClass.getDeclaredMethod("show", int.class);
        //暴力反射,设置方法可以被访问
        //创建对象
        Person person = aClass.newInstance();
        show.setAccessible(true);
//        Object invoke = show.invoke(person, 23);
        Object invoke = show.invoke(null, 23);//因为是静态方法,不属于实例对象,所以指定执行对象的时候可以设置成为null
        System.out.println(invoke);


    }
}

 

posted @ 2020-10-09 10:48  Joker-0927  阅读(132)  评论(0编辑  收藏  举报
// 侧边栏目录