說說java的反射

neutrons.發表於2020-11-23

1.反射其實就是在java執行時能夠動態呼叫任意的一個類

2.利用反射我們可以在執行時分析類、監控物件。

3.獲取類模版的三種方式 類名.class 物件.getclass() Class.forName(“全路徑”)

追問

1 . 說說相關的類和你用到的方法

Class類 類的實體 Field類 類的成員變數 Method 類的方法 Constructor類 類的構造方法

newInstance() 建立類的例項 getName 獲取類的完整路徑名字 forName()根據類名返回物件

getAnnotation(Class<A> annotationClass)返回該類中與引數型別匹配的公有註解物件

getField()獲取屬性物件 

2.Class.forName 和 ClassLoader有什麼區別

   Class.forName在類載入時會執行static程式碼塊 如果想不載入 可以增加引數

   ClassLoader 在類載入時不會執行static內容 在newInstance時才會執行static塊。

 

 

相關文章