【发布时间】:2017-12-02 20:32:38
【问题描述】:
我正在寻找有关 this 关键字的指导。我刚刚了解了这个概念,这让我有点困惑。这是我的一段代码:
public class CashRegister {
private ArrayList<Double> items;
private int itemCount;
private double totalPrice;
public double getTotal() {
this.totalPrice = 0;
for (int i = 0; i < this.items.size(); i++) {
this.totalPrice = this.totalPrice + this.items.get(i);
}
return totalPrice;
}
}
我的问题是我是否使用“this”对吗?每次使用totalPrice 或items ArrayList 之类的变量时,我应该使用“this”吗?
【问题讨论】:
-
我不会。这是多余的,任何了解该语言的人都知道
totalPrice指的是实例字段。 -
在这种情况下,它们不是必需的。当有可能发生冲突时使用关键字。这里,在 getTotal() 中引用的唯一对象是用来调用它的对象。因此,关于我使用哪个对象的属性的引用没有冲突。
-
我喜欢。对我来说,这是防止冲突的一种方式。另一种方法是根本不创建名称冲突。例如,给您的成员一个前缀,如
mTotalPrice(如其他语言中的_totalPrice)。如果您使用 IDE,您可能可以设置一些高级规则,以便在您忘记使用this或创建此类名称冲突时发出警告(至少 Eclipse 有这个)。 -
如果你在访问器方法中实际计算总数,为什么要将
totalPrice存储为字段?
标签: java arraylist syntax this