Từ khóa this trong Java

0
93

Có nhiều cách sử dụng từ khóa this trong Java. Trong Java, this là một biến tham chiếu mà tham chiếu tới đối tượng hiện tại.

Sự sử dụng của từ khóa this trong Java

Trong Java, từ khóa this có 6 cách sử dụng, như sau:

  • Từ khóa this có thể được sử dụng để tham chiếu biến instance của lớp.
  • this() có thể được sử dụng để triệu hồi Constructor của lớp hiện tại.
  • Từ khóa this có thể được sử dụng để triệu hồi ngầm định phương thức lớp hiện tại.
  • Từ khóa this có thể được truyền như là một tham số trong lời gọi phương thức.
  • Từ khóa this có thể được truyền như là một tham số trong lời gọi Constructor.
  • Từ khóa this cũng có thể được sử dụng để trả về instance của lớp hiện tại.

Đề nghị: Nếu bạn mới học về Java thì bạn nên chỉ theo dõi hai cách sử dụng của từ khóa this.

Từ khóa this có thể được sử dụng để tham chiếu biến instance của lớp hiện tại

Nếu có tính lưỡng nghĩa giữa biến instance và tham số, thì từ khóa this xử lý vấn đề này. Đầu tiên, chúng ta theo dõi ví dụ để hiểu vấn đề xảy ra khi không sử dụng từ khóa this.

Ví dụ

Trong ví dụ này, tham số và biến instance là giống nhau, và đó là lý do tại sao chúng ta sử dụng từ khóa this để phân biệt giữa các biến cục bộ và các biến instance.

Xử lý vấn đề trên bởi từ khóa this trong Java

Nếu biến cục bộ và biến instance là khác nhau, thì không cần thiết sử dụng từ khóa this như trong chương trình sau đây:

this() có thể được sử dụng để triệu hồi constructor của lớp hiện tại

Lời gọi this() constructor có thể được sử dụng để triệu hồi Constructor của lớp hiện tại. Hướng tiếp cận này là tốt hơn nếu bạn có nhiều Constructor trong lớp và muốn tái sử dụng Constructor đó.

Câu hỏi: Nơi để sử dụng lời gọi this() constructor?

Lời gọi this() constructor nên được sử dụng để tái sử dụng constructor. Nó duy trì dây chuyền giữa các Constructor, và được sử dụng cho Constructor Chaining. Bạn theo dõi ví dụ sau để hiểu hơn về điều này.

Qui tắc: Lời gọi tới this() phải là lệnh đầu tiên trong Constructor.

Trong chương trình ví dụ sau sẽ cho một thông báo lỗi tại compile time.

Từ khóa this() có thể được sử dụng để triệu hồi ngầm định phương thức lớp hiện tại

Bạn có thể triệu hồi phương thức của lớp hiện tại bởi sử dụng từ khóa this. Nếu bạn không sử dụng từ khóa this, trình biên dịch Compiler tự động thêm từ khóa this trong khi gọi phương thức. Bạn theo dõi ví dụ sau:

Từ khóa this có thể được truyền như là một tham số trong phương thức

Cách này chủ yếu được sử dụng trong xử lý sự kiện. Bạn theo dõi ví dụ:

Từ khóa this có thể được truyền như là tham số trong lời gọi constructor

Bạn cũng có thể truyền từ khóa this trong constructor. Nó là hữu ích nếu chúng ta phải sử dụng một đối tượng trong nhiều lớp. Bạn theo dõi ví dụ:

Từ khóa this có thể được sử dụng để trả về instance của lớp hiện tại

Chúng ta có thể trả về từ khóa this như một lệnh từ phương thức. Trong tình huống này, kiểu trả về của phương thức phải là kiểu class (không là kiểu gốc). Bạn theo dõi ví dụ:

Cú pháp của this mà có thể được trả về như là một lệnh.

Ví dụ

Chúng ta cùng chứng minh rằng từ khóa this tham chiếu tới biến instance của lớp hiện tại. Trong chương trình sau, chúng ta in biến tham chiếu và this, kết quả của chúng là giống nhau.

 http://vietjack.com/java/tu_khoa_this_trong_java.jsp

Gửi phản hồi

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.