Thực tiễn tốt nhất để sử dụng từ khóa this
trong Java là gì? Ví dụ, tôi có lớp sau đây:Java - khi nào nên sử dụng từ khoá 'này'
class Foo {
Bar bar;
public Foo(Bar bar) {
this.bar = bar;
}
}
Đó là tốt và tất cả, nhưng Java là đủ thông minh để biết những gì đang xảy ra nếu tôi thay đổi tuyên bố trong constructor để
bar = bar;
Vậy tại sao sử dụng từ khóa this
? (Tôi nhận ra trong một số tình huống, nó hoàn toàn cần thiết để sử dụng nó, tôi chỉ yêu cầu cho các tình huống như thế này). Trên thực tế, tôi có xu hướng sử dụng từ khóa hoàn toàn cho sake dễ đọc nhưng thực tế phổ biến là gì? Sử dụng nó trên tất cả các cửa hàng làm cho mã của tôi trông hơi lộn xộn, ví dụ:
boolean baz;
int someIndex = 5;
this.baz = this.bar.getSomeNumber() == this.someBarArray[this.someIndex].getSomeNumber();
Rõ ràng là một chút mã nhưng nó minh họa ví dụ của tôi. Nó chỉ là sở thích cá nhân trong những trường hợp này?
Cùng một câu hỏi đã được đăng 2 ngày trước: http://stackoverflow.com/questions/2411270/when-should-i-use-this-in-a-class Có bằng cách này nhiều giá trị nhân bản: http://www.google.com/search?q=java+when+use+this+keyword+site%3Astackoverflow.com – BalusC
Tệ của tôi, tôi đã tìm kiếm nhanh (rõ ràng) bằng cách sử dụng tìm kiếm SO nhưng không tìm thấy bất cứ điều gì ... – jackbot
Như những người khác đã chỉ ra, bạn đang làm nhiệm vụ để tự (tham số) ở trên. Nhưng quy tắc của tôi là sử dụng 'this' khi nó làm cho chương trình dễ đọc hơn *. Nếu bạn sử dụng một số loại quy ước đặt tên cho các biến thành viên (ví dụ: '_bar' hoặc' mBar'), thì việc viết 'this._bar' chỉ là thêm tiếng ồn, IMHO. –