2011-10-13 3 views
0

생성자 내부에서 setter를 통해 DTO의 일부 멤버 변수를 초기화하려고합니다.pmd 룰 오버라이드 가능한 메소드가 객체 생성 중에 호출 됨

그러나 아래의 pmd 오류는 해당 pmd 규칙 위반을 제거하는 방법을 보여줍니다.

오버라이드 (override) 방법 '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 최종 만들기에 대해? 또는 전체 수업에서의 이벤트일까요?

관련 문제