java.lang.IllegalAccessException
关于反射中的java.lang.IllegalAccessException谷歌翻译的意思为非法访问的异常,该异常的出现原因已经通过名字可以理解他所出现的原因了,该异常出现的原因在于这个反射的类中构造方法被private修饰符所修饰了,导致非法访问效果。如果在反射中遇到此类的问题可以采用“开挂”的方式暴力访问,设置无障碍访问,调用setAccessible()方法实现操控私有的属性方法构造器。,反射操作是一种人为的操作,所以不需要太介意他这样做破坏封装的安全性问题。类似的操作还有在单例设计模式中通过反射的方法使单例设计模式变为非单例设计模式。
java.lang.InstantiationException
实例化异常,一般在反射实例化的时候出现,对应类中没有设置无参构造器导致的无法进行实例化,无参构造器只有在该类中没有其他构造器的时候才会自动存在,如果该类创建了一个有参构造器那么无参构造器就会失效,如果此时不编写无参构造器在进行反射实例化的时候就会出现java.lang.InstantiationException,所以一般情况下我们都会一直书写无参构造器防止此类的发生。