在看反射機制時 設計了一個小demo 然后報錯了
新寫的demo 為
public class ReflexTest {
public static void main(String[] args) throws Exception {
Class demo = Class.forName("com.zz.www.test.demo8");
Method methodOne = demo.getMethod("findMe", String.class);
methodOne.invoke(demo.newInstance(), "help");
}
}
因為demo8是很早以前也沒有注意 運行后就報錯了
后來看了一下demo8發現真是大意失荊州啊! demo8 是個抽象類,而調用反射加載方法的時候必須先實例化類。而抽象類是不能被實例化的。所以報錯了。
java.lang.InstantiationException 實例化異常。當試圖通過newInstance()方法創建某個類的實例,而該類是一個抽象類或接口時,拋出該異常。
public abstract class demo8 {
public void findMe(String arg){
System.out.println("help me"+arg);
}
}