Từ khóa this trong java

0
351
This entry is part 24 of 29 in the 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.

Mình xin 5 phút quảng cáo nha =))

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 !

Series Navigation<< Constructor trong javaTừ khóa super trong java >>
avatar
  Subscribe  
Notify of