05 獲取執行時類的完整結構

2021-10-10 11:35:25 字數 1523 閱讀 9935

1. 實現的全部介面

public class<?> getinte***ces()

確定此物件所表示的類或介面實現的介面。

2. 所繼承的父類

public class<? super t> getsuperclass()

返回表示此 class 所表示的實體(類、介面、基本型別)的父類的class。

3. 全部的構造器

public constructor getconstructors()

返回此 class 物件所表示的類的所有public構造方法。

public constructor getdeclaredconstructors()

返回此 class 物件表示的類宣告的所有構造方法。

constructor類中:

1.取得修飾符:public int getmodifiers();

2.取得方法名稱: public string getname();

3. 取得引數的型別:public class<?> getparametertypes();

4. 全部的方法

public method getdeclaredmethods()

返回此class物件所表示的類或介面的全部方法

public method getmethods()

返回此class物件所表示的類或介面的public的方法

method類中:

1.取得全部的返回值:public class<?> getreturntype()

2.取得全部的引數:public class<?> getparametertypes()

3.取得修飾符:public int getmodifiers()

4.取得異常資訊:public class<?> getexceptiontypes()

5. 全部的field

public field getfields()

返回此class物件所表示的類或介面的public的field。

public field getdeclaredfields()

返回此class物件所表示的類或介面的全部field。

field方法中:

以整數形式返回此field的修飾符:public int getmodifiers()

得到field的屬性型別:public class<?> gettype()

返回field的名稱:public string getname()

6. annotation 相關

get annotation(class annotationclass)

getdeclaredannotations()

7. 泛型相關

獲取父類泛型型別:type getgenericsuperclass()

泛型型別:parameterizedtype

獲取實際的泛型型別引數陣列:getactualtypearguments()

8. 類所在的包

類所在的包:package getpackage()

反射獲取執行時類的完整結構

field method constructor superclass inte ce annotation 1 實現的全部介面 2 所繼承的父類 3 全部的構造器 4 全部的方法 5 全部的field public class getinte ces 確定此物件所表示的類或介面實現的介面。publ...

獲取執行時類的結構

通過反射建立對應的執行時類的物件 public void test1 throws illegalacces ception,instantiationexception 獲取執行時類的方法結構 public class methodtest system.out.println getdeclar...

反射獲取執行時類的結構

屬性 1.getfields 獲取當前執行時類及其父類中宣告為public訪問許可權的屬性 2.getdeclaredfields 獲取當前執行時類中宣告的所有屬性。不包含父類中宣告的屬性 4.getmodifiers 許可權修飾符 5.gettype 資料型別 6.getname 變數名 獲取執行...