2011-10-13 137 views
0

我正在通过构造函数中的setter初始化我的DTO中的某些成员变量。在对象构建期间调用的pmd规则覆盖方法

但下面的pmd错误显示如何消除pmd规则违规?

覆盖的方法 'setAbc' 对象的构造过程中调用

class A{ 

private String x; 

public getX(){ 
return x; 
} 
public setX(String x){ 
this.x = x ; 
} 
A(){} 

A(B b){ 
setX("C"); 
} 

}

+3

什么是最重要的是了解为什么PMD显示此错误。一旦理解,你也会明白如何避免它,并避免再次犯错。 –

+0

我建议你阅读http://stackoverflow.com/questions/3404301/whats-wrong-with-overridable-method-calls-in-constructors – user1154664

回答

5

如何制作方法setX决赛?或者也许是整个班级的事件?