黑马程序员技术交流社区
标题:
关于Class.forName的疑问
[打印本页]
作者:
下雨天
时间:
2013-7-19 15:20
标题:
关于Class.forName的疑问
本帖最后由 杨兴庭 于 2013-7-21 19:09 编辑
Class c1=Person.class 和 Class c2=Class.forName("Person")
这两种方法都是获取Person类的字节码,第一个很好理解,但是第二个的存在有什么特殊的意义呢,既然已经知道类名了 直接用第一种不就可以了吗?
作者:
wedge
时间:
2013-7-19 15:30
你好,其实它们还是有一定的区别的。
Class.forName与类名.class都会导致类的加载,但是它们是有区别的:
Class.forName可导致类的静态初始化,但类名.class只会加载类,不会执行静态初始化(有父类的话先加载父类的)
作者:
王靖远
时间:
2013-7-19 15:35
Class c2=Class.forName("Person")
这种方法还是比较常用的。这个参数可以写在配置文件里。在配置文件里写什么类。就加载什么类。就不要修改代码了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2