反射獲取執行時類的結構

2021-09-25 23:42:11 字數 1761 閱讀 6044

屬性:

1.getfields():獲取當前執行時類及其父類中宣告為public訪問許可權的屬性

2.getdeclaredfields():獲取當前執行時類中宣告的所有屬性。(不包含父類中宣告的屬性)

4.getmodifiers():許可權修飾符

5.gettype():資料型別

6.getname()變數名

獲取執行時類的方法結構:

1.getmethods():獲取當前執行時類及其所有父類中宣告為public許可權的方法。

2.getdeclaredmethods:獲取當前執行時類中宣告的所有方法。(不包含父類中宣告的方法)。

許可權修飾符 返回值型別 方法名(引數型別1 形參名1,…) throws ***exception{}

1.getannotations:獲取方法宣告的註解

2.getmodifiers(): 獲取許可權修飾符

3.getreturntype():獲取返回值型別

4.getname():獲取方法名

5.getparametertypes:獲得形參列表

6.getexceptiontypes:獲得丟擲的異常

獲取構造器結構

1.getconstructors():獲取當前執行時類中宣告為public的構造器

2.getdeclaredconstructors():獲取當前執行時類中宣告的所有的構造器

獲得執行時父類

1.getsuperclass:獲取執行時父類

2.getgenericsuperclas 獲取執行時類的帶泛型的父類

3.獲取執行時類的帶泛型的父類的泛型

class clazz = person.class;

type genericsuperclass = clazz.getgenericsuperclass();

parameterizedtype paramtype = (parameterizedtype) genericsuperclass;

//獲取泛型型別

type actualtypearguments = paramtype.getactualtypearguments();

// system.out.println(actualtypearguments[0].gettypename());

system.out.println(((class)actualtypearguments[0]).getname());

4.getinte***ces:獲取執行時類實現的介面

5.getpackage:獲取執行時類所在的包

6.getannotations:獲取執行時類宣告的註解

如何操作執行時類中的指定的屬性,方法–需要掌握

/*

如何操作執行時類中的指定的屬性 -- 需要掌握

*/@test

public void testfield1() throws exception

/*如何操作執行時類中的指定的方法 -- 需要掌握

*/@test

public void testmethod() throws exception

/*如何呼叫執行時類中的指定的構造器

*/@test

public void testconstructor() throws exception

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

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...

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

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