反射常用方法总结

反射四大核心类:Class、Constructor、Method、 Filed

Class

获取Class的三种方式:
1:Class.forNmae(String className) className:完整路径类名
2:任意对象.getClass()
3:类名.class

Class获取Constructor

方法说明
newInstance()创建对象,默认无参构造
getConstructor(Class<?> … parameterTypes)获取类中public修饰的,指定参数类型的构造方法
getConstructors()获取类中public修饰的所有构造方法
getDeclaredConstructor(Class<?>… parameterTypes)获取类中指定参数类型的构造方法,无关修饰
getDeclaredConstructors()获取类的所有构造方法,无关修饰

Class获取Method

方法说明
getMethod(String name, Class<?>… parameterTypes)根据方法名,方法参数获取对应方法。范围:本类和所有继承类的public所修饰的方法
getMethods()获取所有的方法 。范围:本类和所有继承类的public所修饰的方法
getDeclaredMethod(String name, Class<?>… parameterTypes)根据方法名,方法参数获取对应方法。范围:本类所有的方法,无关修饰
getDeclaredMethods()获取本类中所有的方法

Class获取Filed

方法说明
getField(String name)根据字段名获取对应字段。范围:本类和所有继承类的public所修饰的字段
getFileds()获取所有的字段 。范围:本类和所有继承类的public所修饰的字段
getDeclaredField(String name)根据字段名,获取对应字段。范围:本类所有的字段,无关修饰
getDeclaredFileds()获取本类中所有的字段,无关修饰

Method相关方法

方法说明
getName()获取方法名
isVarArgs()如果该方法声明为采用可变数量的参数,则返回true; 否则返回false
getModifiers()获取权限修饰符
getReturnType()获取返回类型
getExceptionTypes()获取所有抛出的异常类型
getParameterTypes()获取所有参数的类型
getParameterCount()获取所有参数的个数
getAnnotations()获取修饰该方法的注解集合
getAnnotation(Class annotationClass)获取指定的注解信息
getDeclaringClass获取方法所在的类的.class对象
invoke(Object obj, Object… args)方法调用,获取返回值

Filed相关方法

方法说明
getType()返回这个变量的类型
getAnnotation(Class annotationClass)获取字段上的指定注解
getDeclaringClass()获取字段所在的类的.class对象
getDeclaredAnnotations()获取修饰该字段的结果集
get(Object obj)获取obj该字段的值
set(Object obj, Object value)对obj该字段设值
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值