It's true.
Because setters are always public. And if you are not a class final, then there is the problem of invoking the alien method. Which is not thread safe, i.e. It is known as link escaping this. Therefore, from the constructor, if you call a method, it should be finalor private. Else safe initializationobject will not happen, which causes many errors in real systems.
, public constructor, , , , .
, . , . , , , .
.