Từ khóa this trong java

0
1340
Bài số 24 trong 29 bài của series Tự học lập trình Java

Ở bài trước mình có giới thiệu cho các bạn constructor trong java rồi phải không nào ? Nhưng liệu bạn có thắc mắc vì sao lại có đoạn lệnh sau trong constructor không ?

Vậy chúng ta cùng tìm hiểu từ khóa this trong java nhé.

Dùng để tham chiếu tới các biến instance

Từ khóa this dùng để phân biệt những thuộc tính của lớp với các tham số truyền vào (nếu cùng tên). Nếu không cùng tên thì chương trình có thể tự phân biệt được nên có thể không cần từ khóa this.

Cùng xem ví dụ dưới đây.

Tại sao ? Chúng ta đã khởi tạo bằng constructor rồi mà ! Câu trả lời là chương trình không thể tự phân biệt đâu là tham số truyền vào và đâu là thuộc tính của lớp. Ở ví dụ id = id chương trình hiểu là lấy tham số truyền vào ( id ) và gán giá trị đó cho chính nó. Tức là trong constructor có biến instance trùng tên với biến local nên chương trình ưu tiên dùng biến local.

Để khắc phục các bạn cần tham chiếu tới hai biến instance của lớp Bike bằng từ khóa this.

Hoặc

Dùng để gọi lại constructor

  • Có thể gọi lại constructor trong các constructor khác của lớp bằng từ khóa this().
  • Nếu gọi lại constructor bằng từ khóa this() thì từ khóa this() phải được khai báo dòng lệnh đầu tiên trong Constructor.

Cùng xem ví dụ sau nhé.

Dùng để trả về lớp hiện tại

  • Bạn có thể dễ dàng trả về lớp hiện tại bằng từ khóa this.
  • Kiểu trả về sẽ là kiểu class nhé (không phải kiểu nguyên thủy đâu).

Cùng xem ví dụ sau nhé

Giải thích: phương thức getBike() trả về là một đối tượng thuộc lớp Bike. Mà lớp Bike thì có phương thức display() nên ta có thể viết liên tục là bike.getBike().display().

Bài viết của mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

Các bài viết trong SeriesBài trước: Constructor trong javaBài sau: Từ khóa super trong java
0 0 vote
Đánh giá bài viết
Subscribe
Notify of
guest
0 Bình luận
Inline Feedbacks
View all comments