PMD笔记-Overridable method 'XXX' called during object construction
PMD错误
Overridable method ‘XXX’ called during object construction
样例
public class Test {public int a;public Test() {test();}public void test() {a = 10;}
}
报错原因
不要在构造方法里调用可被重写的方法,这会导致构造方法的行为不定。虽然在编译期时没有异常,但是在运行期时可能发生异常。
详细的分析可以参考Java中不要在父类的构造方法中调用会被子类重写的方法
解决方法
有两个方法:
1.将该方法加上final
public class Test {public int a;public Test() {test();}public final void test() {a = 10;}
2.将该方法改为private
public class Test {public int a;public Test() {test();}private void test() {a = 10;}
PMD笔记-Overridable method 'XXX' called during object construction相关推荐
- An improved Otsu method using the weighted object variance for defect detection-论文阅读笔记
An improved Otsu method using the weighted object variance for defect detection 一种改进的基于加权目标方差的Otsu缺陷 ...
- Do not access Object.prototype method ‘hasOwnProperty‘ from target object
Do not access Object.prototype method 'hasOwnProperty' from target object 编写代码的时候,使用了eslint: let obj ...
- struts2异常ognl.MethodFailedException: Method setId failed for object
页面传递的数据类型错误导致struts2抛出ognl.MethodFailedException异常. 解决方式: 修改log4j的日志输出级别. log4j.properties文件添加如下内容: ...
- pycharm提示 Method 'xxx' may be 'static'(类方法与静态方法)
写程序时,鼠标放到最右方时,会发现pycharm提示:Method 'xxx' may be 'static',如: 这是什么原因呢? 这是因为这个方法本可以写成静态方法,但我们把它写成类方法了(就是 ...
- 关于[__NSCFArray removeObjectAtIndex:]: mutating method sent to immutable object的报错分析
首先,我们来分析一下这个报错的主要意思 mutating method sent to immutable object 说的是一个不可变的对象使用了可变的方法. 这里面也许很多人会感到奇怪,我数组明 ...
- 解决Pymongo If you meant to call the ‘insert_one‘ method on a ‘Database‘ object it is failing
问题代码 import pymongoif __name__ == "__main__":client = pymongo.MongoClient(host='127.0.0.1' ...
- git cherry-pick 的时候出现git cherry-pick xxx fatal: bad object xxx
解决git cherry-pick xxx fatal: bad object xxx 我的情况是在B分支的同步A分支的一个commit,出现了如标题的错误.我是直接在web上看到A ...
- 解决git cherry-pick xxx fatal bad object xxx
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 解决gi ...
- 解决Could not find method xxx for arguments问题
问题: 从github上面下载项目导入AndroidStudio时,报错: Could not find method xxx for arguments 解决办法: 打开build.gradle 找 ...
最新文章
- 手动安装K8s第三节:etcd集群部署
- 如何使用 50 行 Python 代码制作一个计算器
- 课后作业-阅读任务-阅读笔记4
- Entity Framework 实体关系总结(转)
- mysql hugepage_因未配置Hugepage会话数添增悲剧案例
- python发邮件脚本_Python实现的简单发送邮件脚本分享
- (转)孙正义:数字资产会成为人类最大的资产
- 微信小程序input组件里,自动聚焦focus没反应
- 【基础】SAP 新增计量单位
- C#中背景图片布局设置
- MD通过vscode生成PDF(带目录标签)
- 在使用git bash输入命令时,已输入命令按Backspace键无法删除
- 我的冷笑话20100125
- 中南大学计算机学院复试2021,34所自划线院校2021考研复试分数线-2021中南大学考研分数线已公布...
- 到2020年,烟台重点林区视频监控率将达90%以上
- 修改电脑ip为固定ip不能上网
- 解决Win10已阻止应用程序访问图形硬件问题(亲测有效)
- Nginx源码完全注释(1)ngx_alloc.h / ngx_alloc.c
- Webpack4.0各个击破(7)plugin篇
- 使用 电报机器人 tele bot 远程执行服务器上的命令
热门文章
- android 设置缓存大小设置在哪里设置,Kodi/XBMC缓存设置图文教程
- Linux内核分析——第八周学习笔记
- java鼠标指针锤子,java线程工具走出锤子敲铁皮时代。
- 在传统软件公司的悲惨经历
- 一个好的企划书由哪几部分组成?
- 基于ETest开发某型号北斗/GPS接收机测试系统
- maven 打包指定依赖包_maven打包加入依赖包以及加入本地依赖包的方法
- KBQA的主要流程及部分Top竞赛方案总结
- matlab计算结果为inf,matlab里的mean为什么计算结果是inf
- Opera浏览器同步服务被黑,百万用户密码遭泄露