一、NoSuchFieldException找不到属性异常
反射的时候用getField去获取private修饰的属性的时候找不到报出来的异常,原因因为getField只能找到public的属性。
二、IllegalAccessException非法存取异常
Declared(第可兰德)
因为类是私有的用getDeclaredField可以获取,但是在修改的时候因为Java语言安全检测判定private不能直接通过反射存取所以报错IllegalAccessException
解决方法:setAccessible方法去关掉安全检测
属性和方法和构造器private同时适用。
三、InstantiationException实例化异常
newInstance()方法本质是调用类的无参构造器,但是类没有无参构造器的话就会报错InstantiationException
解决方法:通过构造器创建对象