Class類中,我們使用最多的就是forName()方法和newInstance()方法。
1、使用forName()方法時,即使引用同一個包中的類,也要寫完整的包名,如:
try {
Printable p1 = (Printable) Class.forName(
"com.coderdream.chapter21.proxy.a1.Printer").newInstance();
} catch (Exception e) {
System.out.println("Nooo");
}
接口Printable和類Printer在同一個包中,但也要寫完整的包名,否則拋出異常,提示找不到Printer類。
2、使用newInstance()方法時,如果不存在無參的構造函數,也會報找不到Printer類。
這一點很容易忽略,而且很難找到錯誤,我們經常會寫一些帶參數的構造函數。而此處的newInstance()方法是會調用默認構造函數,如果不存在會拋出找不到類的異常。
posted on 2007-11-05 14:48
CoderDream 閱讀(250)
評論(0) 編輯 收藏 所屬分類:
經驗點滴