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

2021-10-07 23:50:19 字數 1550 閱讀 4759

field、method、constructor、superclass、inte***ce、annotation

1 實現的全部介面

2 所繼承的父類

3 全部的構造器

4 全部的方法

5 全部的field

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

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

public class<? super t> getsuperclass()

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

class。

public constructor getconstructors()

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

public constructor getdeclaredconstructors()

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

constructor類中:

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

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

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

public method getdeclaredmethods()

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

getmethods()

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

method類中:

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

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

public int getmodifiers()取得修飾符

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

public field getfields()

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

public field getdeclaredfields()

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

field方法中:

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

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

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

get annotation(class annotationclass)

getdeclaredannotations()

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

泛型型別:parameterizedtype

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

package getpackage()

參考

1 尚矽谷

反射獲取執行時類的結構

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

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

1.實現的全部介面 public class getinte ces 確定此物件所表示的類或介面實現的介面。2.所繼承的父類 public class getsuperclass 返回表示此 class 所表示的實體 類 介面 基本型別 的父類的class。3.全部的構造器 public const...

獲取執行時類的結構

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