1. 程式人生 > >反射相關API

反射相關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():忽略繼承的註解