- Tham gia
- 18/09/2016
- Bài viết
- 3,165
Từ khóa this
Từ khóa this được sử dụng trong Non-static method và Constructor, nhằm chỉ Object hiện tại.
Với ảnh trên, mình đã thêm từ khóa this vào trước tenTaiLieu (...chẳng có gì thay đổi cả)
Vậy khi nào mình mới thực sự cần dùng?
Mình đã đổi tên Parameter thứ nhất thành tenTaiLieu và xóa cái từ khóa this
Dòng này không còn ý nghĩa vì: Java không trỏ về biến tenTaiLieu ở trên nữa mà trỏ ngược lại cái parameter
Lý do: Java ưu tiên hàm/biến về mặt quan hệ: bên trong hàm -> bên ngoài hàm -> hàm/biến được kế thừa
Đó là lý do vì sao dù có biến ở trên nhưng Java vẫn trỏ ngược lại cái parameter
Bây giờ mình thêm từ khóa this
OK đã fix dc rồi
Bây giờ, gía trị từ Parameter sẽ được đặt vào cái biến ở trên cùng.
Tóm lại, bạn cần dùng this, khi bạn muốn truy cập vào Instance variable bị trùng tên với Local variable/Parameter khác trong Method.
Getter & Setter
Định nghĩa phương thức getter & setter: là các hàm cung cấp khả năng truy cập & cập nhật các biến private
Ví dụ trong code trên, biến name có access modifier là private, vì thế class khác không thể truy cập vào được. Nhưng có thể truy cập thông qua getter và setter (hai hàm ở dưới)
(nhấn vào ảnh để phóng to)
Hết ~
Từ khóa this được sử dụng trong Non-static method và Constructor, nhằm chỉ Object hiện tại.
Với ảnh trên, mình đã thêm từ khóa this vào trước tenTaiLieu (...chẳng có gì thay đổi cả)
Vậy khi nào mình mới thực sự cần dùng?
Mình đã đổi tên Parameter thứ nhất thành tenTaiLieu và xóa cái từ khóa this
Java:
tenTaiLieu = tenTaiLieu;
Lý do: Java ưu tiên hàm/biến về mặt quan hệ: bên trong hàm -> bên ngoài hàm -> hàm/biến được kế thừa
Đó là lý do vì sao dù có biến ở trên nhưng Java vẫn trỏ ngược lại cái parameter
Bây giờ mình thêm từ khóa this
OK đã fix dc rồi
Bây giờ, gía trị từ Parameter sẽ được đặt vào cái biến ở trên cùng.Tóm lại, bạn cần dùng this, khi bạn muốn truy cập vào Instance variable bị trùng tên với Local variable/Parameter khác trong Method.
Getter & Setter
Định nghĩa phương thức getter & setter: là các hàm cung cấp khả năng truy cập & cập nhật các biến private
Java:
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String newName) {
this.name = newName;
}
}
- Getter: lấy dữ liệu từ biến (get = lấy)
- Setter: ghi đè dữ liệu vào biến (set = đặt/ghi đè)
(nhấn vào ảnh để phóng to)
Hết ~


