反射相關API
阿新 • • 發佈:2018-12-31
隨著學習,後續會繼續更新!暫時自己用到的就這些。
Class
-
getClassLoader():得到類載入器
-
forName(String str):載入該類,包路徑+類名
-
getName():類名
-
getField(String name):得到該類的Field,僅限
public
成員 -
getFields() :得到該類所有可訪問的
public
Field -
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():忽略繼承的註解