千家信息网

getDeclaredField()方法以及NoSuchFieldException异常处理

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,getDeclaredField()方法以及NoSuchFieldException异常处理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的
千家信息网最后更新 2026年11月01日getDeclaredField()方法以及NoSuchFieldException异常处理

getDeclaredField()方法以及NoSuchFieldException异常处理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

使用getDeclaredField()方法,发现有异常NoSuchFieldException,后续发现是因为实体类使用了extends引起的,就百度了下原因。

发现getDeclaredField()方法只能获取当前类的所有属性,但是不能获取父类的属性

这里引出两个问题,第一个问题:getField()和getDeclaredField()方法是做什么的:

用Class的getField(String name)或getDelaredField(String name)是用来得到目标类的指定属性,返回类型是Field。

第二个问题:getField()和getDeclaredField()方法有什么区别:

getField(String name)只能获取public的字段,包括父类的;

而getDeclaredField(String name)只能获取自己声明的各种字段,包括public,protected,private。

那么解决我遇到的问题有几种方法:

方法1:弃用extends,但是我如果还想继续使用extends怎么办呢,看方法2。

方法2:可以通过getSuperclass()方法获取父类,再调用getDeclaredField()方法。

Field field;try {   field = obj.getClass().getDeclaredField(fieldName);} catch (NoSuchFieldException e) {   //此处用于解决继承导致的getDeclaredField不能直接获取父类属性的问题   field = obj.getClass().getSuperclass().getDeclaredField(fieldName);}

关于getDeclaredField()方法以及NoSuchFieldException异常处理问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

方法 问题 属性 处理 字段 更多 帮助 解答 易行 简单易行 两个 内容 原因 可以通过 实体 小伙 小伙伴 怎么办 目标 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 精品咖啡豆 深圳市人人互联网科技有限公司 互联网佳科技有限公司 高科技互联网 科技互联网产品 互联网和科技创新 苏州大垚互联网科技 隆华科技工业互联网 中盈科技互联网信息有限公司 中国互联网有什么科技含量 青岛科技大学互联网大赛研究生 苏州铭阳互联网科技有限公司 华夏恒生互联网科技013171 朱啸虎曾投资哪些互联网科技企业 富国互联网科技002692 易企秀互联网科技是做什么的 全球科技与互联网公司市值变化 互联网科技手抄报图片 河南商务圈互联网科技有限公司 科技美学互联网 艺术 南京欣网互联网络科技有限公司 贷财互联网科技 南平创想时代互联网科技有限公司 宝灵互联网科技有限公司 千方科技属于互联网企业吗 知域互联网科技有限公司大骗子 银川新华互联网科技学校联系电话 保险科技服务互联网营销体系 科技互联网行业投资研究 中国科技和美国互联网
0