我的意思是, 拋開概念不談..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
提交
取消