卜若的代码笔记-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是类名

 

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