1 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
首先,您的 chargeMax 似乎是一個(gè)常量值,不需要在構(gòu)造函數(shù)中接收其值(10000)。您可以直接在其字段聲明中執(zhí)行此操作。
其次,您可以在構(gòu)造函數(shù)中添加一些邏輯。該邏輯取決于您的需要。當(dāng)構(gòu)造函數(shù)接收到大于 chargeMax 的值時(shí),您可以自動(dòng)使 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;
}
}
}
另一個(gè)想法是當(dāng) Vehicle 收到一些不需要的值時(shí)拋出異常:
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;
}
}
添加回答
舉報(bào)