开发中遇到的异常整理

一、NoSuchFieldException找不到属性异常

反射的时候用getField去获取private修饰的属性的时候找不到报出来的异常,原因因为getField只能找到public的属性。
开发中遇到的异常整理_第1张图片

二、IllegalAccessException非法存取异常

Declared(第可兰德)
因为类是私有的用getDeclaredField可以获取,但是在修改的时候因为Java语言安全检测判定private不能直接通过反射存取所以报错IllegalAccessException
开发中遇到的异常整理_第2张图片
解决方法:setAccessible方法去关掉安全检测
开发中遇到的异常整理_第3张图片
属性和方法和构造器private同时适用。

三、InstantiationException实例化异常

newInstance()方法本质是调用类的无参构造器,但是类没有无参构造器的话就会报错InstantiationException
开发中遇到的异常整理_第4张图片
解决方法:通过构造器创建对象
在这里插入图片描述

你可能感兴趣的:(Java基础学习)