admin管理员组

文章数量:1794759

PMD笔记

PMD笔记

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