反射

反射:
    在运行阶段,非编译阶段
    在不知道某个实例对象是什么类型的时候
    反射机制使得能够通过这个实例对象.class() 返回的 Class对象,来获取到这个类的属性,方法。
    确保了代码的灵活性,便于封装工具类而非把代码写死.
    场景:
        将实体类转换成map的方法,可以用反射写个封装,不同的实体类直接调用就能返回List<map>
        通过实体类去构造xml的时候,用反射机制,可以通过反射去获取对象的属性,
        避免了修改实体类属性从而需要改动xml构造方法代码,使我们更专注于业务。
demo:G:\project\demo\basic\Reflection


api
    #获取class
    Class hero = heroPojo.getClass();

--Class 常用 api--

    #获取所有申明的属性
    getDeclaredFields()

    #获得public的字段
    getFields()

    #获得所有public方法
    getMethods()

    #获得声明的方法
    getDeclaredMethods()

--Method 常用 api(不推荐,需要过滤get,set和大小写) --
    获取实例对象的属性值
    Method.invoke(obj)

--Field 常用 api --
    获取实例对象的属性值(推荐)
    Field.setAccessible(true);
    Field.get(obj)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值