为了账号安全,请及时绑定邮箱和手机立即绑定

各位大能!! 使用Class.forName, 和 xxx.class在使用上有区别么

各位大能!! 使用Class.forName, 和 xxx.class在使用上有区别么

我吃西瓜很快 2016-09-24 12:23:50
我的意思是, 抛开概念不谈..public static <T> T getInstance(Class<T> clz){ try { return (T) clz.newInstance(); } catch (Exception e) { e.printStackTrace(); } return null; } public static <T> T getInstance(Class<T> clz){ try { return (T) Class.forName(clz.getName()).newInstance(); } catch (Exception e) { e.printStackTrace(); } return null; }这两种方式, 在使用时会有不同吗?
查看完整描述

1 回答

已采纳
?
大咪

TA贡献785条经验 获得超332个赞

Class.forName("XXXX");的作用是要求JVM查找并加载指定的类,如果在类中有静态初始化的话,
JVM必然会执行该类的静态代码段,这时是不确定该类是否已经在JVM中加载。
而XXXX.class是在JVM中加载已经加载过的类。


查看完整回答
反对 回复 2016-09-24
  • 1 回答
  • 0 关注
  • 1626 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信