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相关推荐

  1. 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缺陷 ...

  2. Do not access Object.prototype method ‘hasOwnProperty‘ from target object

    Do not access Object.prototype method 'hasOwnProperty' from target object 编写代码的时候,使用了eslint: let obj ...

  3. struts2异常ognl.MethodFailedException: Method setId failed for object

    页面传递的数据类型错误导致struts2抛出ognl.MethodFailedException异常. 解决方式: 修改log4j的日志输出级别. log4j.properties文件添加如下内容: ...

  4. pycharm提示 Method 'xxx' may be 'static'(类方法与静态方法)

    写程序时,鼠标放到最右方时,会发现pycharm提示:Method 'xxx' may be 'static',如: 这是什么原因呢? 这是因为这个方法本可以写成静态方法,但我们把它写成类方法了(就是 ...

  5. 关于[__NSCFArray removeObjectAtIndex:]: mutating method sent to immutable object的报错分析

    首先,我们来分析一下这个报错的主要意思 mutating method sent to immutable object 说的是一个不可变的对象使用了可变的方法. 这里面也许很多人会感到奇怪,我数组明 ...

  6. 解决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' ...

  7. git cherry-pick 的时候出现git cherry-pick xxx  fatal: bad object xxx

    解决git cherry-pick xxx  fatal: bad object xxx         我的情况是在B分支的同步A分支的一个commit,出现了如标题的错误.我是直接在web上看到A ...

  8. 解决git cherry-pick xxx fatal bad object xxx

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 解决gi ...

  9. 解决Could not find method xxx for arguments问题

    问题: 从github上面下载项目导入AndroidStudio时,报错: Could not find method xxx for arguments 解决办法: 打开build.gradle 找 ...

最新文章

  1. 手动安装K8s第三节:etcd集群部署
  2. 如何使用 50 行 Python 代码制作一个计算器
  3. 课后作业-阅读任务-阅读笔记4
  4. Entity Framework 实体关系总结(转)
  5. mysql hugepage_因未配置Hugepage会话数添增悲剧案例
  6. python发邮件脚本_Python实现的简单发送邮件脚本分享
  7. (转)孙正义:数字资产会成为人类最大的资产
  8. 微信小程序input组件里,自动聚焦focus没反应
  9. 【基础】SAP 新增计量单位
  10. C#中背景图片布局设置
  11. MD通过vscode生成PDF(带目录标签)
  12. 在使用git bash输入命令时,已输入命令按Backspace键无法删除
  13. 我的冷笑话20100125
  14. 中南大学计算机学院复试2021,34所自划线院校2021考研复试分数线-2021中南大学考研分数线已公布...
  15. 到2020年,烟台重点林区视频监控率将达90%以上
  16. 修改电脑ip为固定ip不能上网
  17. 解决Win10已阻止应用程序访问图形硬件问题(亲测有效)
  18. Nginx源码完全注释(1)ngx_alloc.h / ngx_alloc.c
  19. Webpack4.0各个击破(7)plugin篇
  20. 使用 电报机器人 tele bot 远程执行服务器上的命令

热门文章

  1. android 设置缓存大小设置在哪里设置,Kodi/XBMC缓存设置图文教程
  2. Linux内核分析——第八周学习笔记
  3. java鼠标指针锤子,java线程工具走出锤子敲铁皮时代。
  4. 在传统软件公司的悲惨经历
  5. 一个好的企划书由哪几部分组成?
  6. 基于ETest开发某型号北斗/GPS接收机测试系统
  7. maven 打包指定依赖包_maven打包加入依赖包以及加入本地依赖包的方法
  8. KBQA的主要流程及部分Top竞赛方案总结
  9. matlab计算结果为inf,matlab里的mean为什么计算结果是inf
  10. Opera浏览器同步服务被黑,百万用户密码遭泄露