当我在 Setter 中只有 if/else 条件时,该程序不起作用。我得到了一个提示,我也必须在构造函数中使用它们。有人可以向我解释..为什么?
另一个问题:您是否将 if/else 语句放在构造函数或设置函数中?
//构造函数
public Invoice(String partNumber, String partDescription, int quantity,
double pricePerItem) {
super();
this.partNumber = partNumber;
this.partDescription = partDescription;
if (quantity <= 0)
quantity = 0;
else
this.quantity = quantity;
if (pricePerItem <= 0)
pricePerItem = 0.0;
else
this.pricePerItem = pricePerItem;
}
//setter
public void setQuantity(int quantity) {
if (quantity <= 0)
this.quantity = 0;
else
this.quantity = quantity;
}
public double getPricePerItem() {
return pricePerItem;
}
public void setPricePerItem(double pricePerItem) {
if (pricePerItem != 0.0)
this.pricePerItem = 0.0;
else
this.pricePerItem = pricePerItem;
}
最佳答案
最好的办法是将 if/else 语句放在 setter 中,并在构造函数中使用 setter。这样一来,您的逻辑就集中在一个地方,并且更容易维护。
关于java - java构造函数中的if/else语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13202672/