我正在尋找關於this
關鍵字的一些指導。我剛剛瞭解了這個概念,這讓我感到困惑。這是我的一段代碼:我是否在我的代碼中正確使用'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'指的是實例字段。 – markspace
在這種情況下,它們不是必需的。當有可能發生衝突時使用關鍵字。這裏,getTotal()中引用的唯一對象是用於調用它的對象。因此,在引用中沒有與我使用哪個對象的屬性相沖突。 –
我喜歡它。對我而言,這是防止衝突的一種方法。另一種方法是根本不創建名稱衝突。例如給你的成員一個像mTotalPrice這樣的前綴(就像其他語言的'_totalPrice'一樣)。如果您使用IDE,則可以設置一些高級規則,以便在您忘記使用'this'或創建了這樣的名稱衝突(至少Eclipse有這個)時警告您。 – Zabuza