天天看點

反射機制

通常情況下編寫代碼都是固定的,無論運作多少次執行的結果也是固定的,在某些特殊場合中編寫代碼時不确定要建立什麼類型的對象,也不确定要調用什麼樣的方法,這些都希望通過運作時傳遞的參數來決定,該機制叫做動态程式設計技術,也就是反射機制。

通俗來說,反射機制就是用于動态建立對象并且動态調用方法的機制。

目前主流的架構底層都是采用反射機制實作的。

如:

Person p = new Person(); - 表示聲明Person類型的引用指向Person類型的對象

p.show(); - 表示調用Person類中的成員方法show

java.lang.Class類的執行個體可以用于描述Java應用程式中的類和接口,也就是一種資料類型。

該類沒有公共構造方法,該類的執行個體由Java虛拟機和類加載器自動構造完成,本質上就是加載到記憶體中的運作時類

使用資料類型.class的方式可以擷取對應類型的Class對象(掌握)。

使用引用/對象.getClass()的方式可以擷取對應類型的Class對象。

使用包裝類.TYPE的方式可以擷取對應基本資料類型的Class對象。

使用Class.forName()的方式來擷取參數指定類型的Class對象(掌握)。

使用類加載器ClassLoader的方式擷取指定類型的Class對象。

java.lang.reflect.Constructor類主要用于描述擷取到的構造方法資訊

java.lang.reflect.Field類主要用于描述擷取到的單個成員變量資訊。

java.lang.reflect.Method類主要用于描述擷取到的單個成員方法資訊。

上一篇: 反射機制
下一篇: 反射機制