我的意思是, 抛开概念不谈..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中加载已经加载过的类。
添加回答
举报
0/150
提交
取消