我有一个问题并不是那么大,但仍然让我思考如何使用
Java构造函数和方法.
我有一个代表我声明最终的半径的常量,并且还公开供所有人查看.当我永远不会改变半径时,我不希望我的代码充斥着getRadius()方法.
我想在构造函数中初始化常量,因为我想在分配半径之前应用某些条件,必须满足某些条件.但是,这些条件确实占用了一些空间,我想将它们放在其他方法中,以使构造函数更清晰.
整个事情最初看起来像这样
public MyProblematicClass {
public final int radius;
public MyProblematicClass(... variables ...) {
if(... long criteria ...) {
radius = n;
}
}
}
而且我喜欢它最终会像
public MyProblematicClass {
public final int radius;
public MyProblematicClass(... variables ...) {
this.setRadiuswithCriteria(criteria);
}
private void setRadiuswithCriteria(criteria crit) {
if(... crit ...) {
radius = n;
}
我知道我可能会将该方法用于其他目的,这就是给我一个’空白字段RADIUS的原因可能尚未初始化,所以我想知道是否有办法添加一个只会是用于建造者,为清洁起见.