1 回答
TA贡献1789条经验 获得超8个赞
首先,您的 chargeMax 似乎是一个常量值,不需要在构造函数中接收其值(10000)。您可以直接在其字段声明中执行此操作。
其次,您可以在构造函数中添加一些逻辑。该逻辑取决于您的需要。当构造函数接收到大于 chargeMax 的值时,您可以自动使 charge 接收 chargeMax。
例如:
public class Vehicle {
protected String immat;
protected int poidsVide;
protected int charge;
protected static final int CHARGE_MAX = 10000; // this is a constant
Vehicle(String immat, int poidsVide, int charge) {
this.immat = immat;
this.poidsVide = poidsVide;
if (charge > CHARGE_MAX){
this.charge = CHARGE_MAX;
}
else {
this.charge = charge;
}
}
}
另一个想法是当 Vehicle 收到一些不需要的值时抛出异常:
Vehicle(String immat, int poidsVide, int charge) {
this.immat = immat;
this.poidsVide = poidsVide;
if (charge > CHARGE_MAX){
throw new IllegalArgumentException("Charge cannot be bigger than " + CHARGE_MAX);
}
else {
this.charge = charge;
}
}
添加回答
举报