首先看一下错误的原因
java.lang.InstantiationException: com.反射.Student
com.反射.Studentat java.lang.Class.newInstance(Class.java:418)
at com.反射.Test3.main(Test3.java:20)
Caused by: java.lang.NoSuchMethodException: com.反射.Student.<init>()
at java.lang.Class.getConstructor0(Class.java:2971)
at java.lang.Class.newInstance(Class.java:403)
... 1 more
对于以上异常,是说明在实例化对象失败的时候抛出异常,这种异常多会出现在抽象类中,在使用反射的机制时,由于抽象父类中的构造方法不是public的,所以导致异常的出现,其实很简单,只要将需要反射的类中的相应构造方法改为public即可。