java reflectionutils_Spring 反射工具类ReflectionUtils

public static final int PUBLIC = 0x00000001;

public static final int PRIVATE = 0x00000002;

public static final int PROTECTED = 0x00000004;

public static final int STATIC = 0x00000008;

public static final int FINAL = 0x00000010;

public static final int SYNCHRONIZED = 0x00000020;

public static final int VOLATILE = 0x00000040;

public static final int TRANSIENT = 0x00000080;

public static final int NATIVE = 0x00000100;

public static final int INTERFACE = 0x00000200;

public static final int ABSTRACT = 0x00000400;

public static final int STRICT = 0x00000800;上面的是Modifier里面定义的静态属性

并且每一个都定义了一个判读方法如

public static boolean isPublic(int mod) {

return (mod & PUBLIC) != 0;

}public static boolean isPrivate(int mod) {

return (mod & PRIVATE) != 0;

}public static boolean isStatic(int mod) {

return (mod & STATIC) != 0;

}

ReflectionUtils这个反射工具类有几个工具方法,首先介绍几个控制访问权限的方法makeAccessible

它由3个重载,分别是对属性,方法和构造

属性

public static void makeAccessible(Field field) {

if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()) ||

Modifier.isFinal(field.getModifiers())) && !field.isAccessible()) {

field.setAccessible(true);

}

}方法public static void makeAccessible(Method method) {

if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers()))

&& !method.isAccessible()) {

method.setAccessible(true);

}

}构造public static void makeAccessible(Constructor> ctor) {

if ((!Modifier.isPublic(ctor.getModifiers()) || !Modifier.isPublic(ctor.getDeclaringClass().getModifiers()))

&& !ctor.isAccessible()) {

ctor.setAccessible(true);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值