反射相关API

随着学习,后续会继续更新!暂时自己用到的就这些。
Class

  • getClassLoader():得到类加载器

  • forName(String str):加载该类,包路径+类名

  • getName():类名

  • getField(String name):得到该类的Field,仅限public成员

  • getFields() :得到该类所有可访问的publicField

  • getDeclaredFields():得到该类所有的Field,包括public,private,protect,但不包括继承来的成员

  • getMethod(String name, Class<?>… parameterTypes):得到方法,需要指定参数,默认是无参的,也是仅限public

  • getMethods():得到public所有方法

  • getDeclaredMethods():得到该类所有的Method,包括public,private,protect,但不包括继承来的方法

Method

  • getName():方法名
  • getParameterTypes():得到参数数组
  • getReturnType():得到返回值类型
  • invoke(Object obj,Object… args):调用实例对象obj的该方法,并传入参数args

Field

  • List item

在Class,Method,Field都可以使用有关注解的API

  • getAnnotation(Class annotationClass) :判断该元素上是否有指定的注解,有则返回该注解的实例,无则返回null
  • getAnnotations():返回该元素上的所有注解
  • getDeclaredAnnotations():忽略继承的注解

猜你喜欢

转载自blog.csdn.net/weixin_41768073/article/details/84674748