卜若的代碼筆記-java編程技巧-第二章:反射基礎(1)->通過對象名去實例化對象

應用背景:

通常情況下,我們會有這種需求,尤其是在團隊協作的情況下。我們不希望我們的一個類文件被團隊的各個成員改來改去的,我們只希望該成員在某個包下面實現了某個類,然後,系統會自動的將這個類加入到系統裏面。這樣就能夠實現物理解耦,這在git或者svn這種版本管理器上是解決衝突的不二之選。

 

1.一個最簡單的反射操作

1.你需要獲取到該類的包和該類的名字

2.你需要將之反射爲Class<?>對象

3.你需要去獲取它的構造函數Constructor<?> cons

4.現在,你可以實例化它。

        Class<?> cls = Class.forName("com.netty.controller.timer.BaseTimer"); // 取得Class對象
        Constructor<?> cons = cls.getConstructor();
        Object obj = cons.newInstance();
注意這裏的com.netty.controller.timer是包名BaseTimer是類名

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章