java反射專題二

一丶Class中經常使用方法詳解

1)getFields()java

只能獲取到運行時類中及其父類中聲明爲public的屬性spa

2)getDeclaredFields()code

獲取運行時類自己聲明的全部屬性對象

3)getMethods()blog

獲取運行時類中及其父類中聲明爲public的方法接口

4)getDeclaredMethods()get

獲取運行時類自己聲明的全部方法io

5)getSuperclass()class

獲取運行時類的父類泛型

6)getGenericSuperclass()

獲取運行時類帶泛型的父類

7)獲取運行時類的父類的泛型以下:

Class clazz = Person.class;
       Type type = clazz.getGenericSuperclass();//獲取帶泛型的父類
       ParameterizedType param = (ParameterizedType)type;//強轉爲子類
       Type[] ars = param.getActualTypeArguments();//得到父類的泛型,可能有多個,例如map<k,v>
       System.out.println(((Class)ars[0]).getName()); //Class是Type接口的實現類,因此能夠強轉,輸出父類的泛型

8)getInterfaces()

獲取運行時類實現的接口

9)getPackage()

獲取運行時類所在的包

10)getAnnotations()

獲取運行時類的註解

二丶Field中經常使用方法詳解

1)getModifiers()

得到屬性的權限修飾符,返回對應的整數形式

2)getType()

獲取屬性的類型,返回的是Class對象

3)getName()

獲取屬性名

三丶Method中經常使用方法詳解

1)getAnnotations()

獲取方法上的全部註解

2)getName()

獲取方法名

3)getModifiers()

得到方法的權限修飾符,返回對應的整數形式

4)getReturnType()

獲取方法的返回值類型,返回的是Class對象

5)getParameterTypes()

獲取方法的形參類型,返回的是Class[] 對象

6)getExceptionTypes()

獲取方法的拋出異常類型,返回的是Class[] 對象

相關文章
相關標籤/搜索