Exception in thread "main" java.lang.InstantiationException at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)


在看反射機制時 設計了一個小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);
}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM