Từ khóa này trong Java

Từ khóa này là gì Java?

từ khóa này trong Java là một biến tham chiếu đề cập đến đối tượng hiện tại của một phương thức hoặc hàm tạo. Mục đích chính của việc sử dụng từ khóa này trong Java là để loại bỏ sự nhầm lẫn giữa các thuộc tính lớp và các tham số có cùng tên.

Sử dụng từ khóa này trong Java

Sau đây là những cách sử dụng khác nhau của từ khóa 'this' trong Java:

  • Nó có thể được sử dụng để tham chiếu biến thể hiện của lớp hiện tại
  • Nó có thể được sử dụng để gọi hoặc khởi tạo hàm tạo của lớp hiện tại
  • Nó có thể được truyền dưới dạng đối số trong lệnh gọi phương thức
  • Nó có thể được chuyển làm đối số trong lệnh gọi hàm tạo
  • Nó có thể được sử dụng để trả về thể hiện của lớp hiện tại

Nhấp chuột đây nếu video không thể truy cập được

Hiểu từ khóa 'this' bằng một ví dụ.

Từ khóa này trong Java
Java từ khóa này Ví dụ

  1. Lớp: tài khoản lớp
  2. Biến thể hiện: A và B
  3. Phương pháp đặt dữ liệu: Để đặt giá trị cho a và b.
  4. Phương pháp Hiển thị dữ liệu: Để hiển thị các giá trị của a và b.
  5. Phương pháp chính: nơi chúng tôi tạo một đối tượng cho lớp Tài khoản và gọi các phương thức đặt dữ liệu và hiển thị dữ liệu.

Hãy biên dịch và chạy mã

Đầu ra dự kiến ​​​​của chúng tôi cho A và B phải được khởi tạo tương ứng với giá trị 2 và 3.

Nhưng giá trị là 0, Tại sao? Hãy điều tra.

Từ khóa này trong Java

Trong phương thức Set data, các đối số được khai báo là a và b, trong khi các biến thể hiện cũng được đặt tên là a và b.

Từ khóa này trong Java

Trong quá trình thực thi, trình biên dịch bị nhầm lẫn. Liệu “a” ở phía bên trái của toán tử được gán là biến thể hiện hay biến cục bộ. Do đó, nó không đặt giá trị 'a' khi dữ liệu tập hợp phương thức được gọi.

Từ khóa này trong Java

Giải pháp là từ khóa “this”

Nối cả 'a' và 'b' với Java từ khóa này theo sau là toán tử dấu chấm (.).

Từ khóa này trong Java

Trong quá trình thực thi mã khi một đối tượng gọi phương thức 'setdata'. Từ khóa 'this' được thay thế bằng trình xử lý đối tượng “obj.” (Xem hình ảnh bên dưới).

Từ khóa này trong Java

Vì vậy bây giờ trình biên dịch đã biết,

  • 'a' ở phía bên trái là biến thể hiện.
  • Trong khi 'a' ở bên phải là biến cục bộ

biến được khởi tạo chính xác và kết quả mong đợi sẽ được hiển thị.

Từ khóa này trong Java

Giả sử bạn đủ thông minh để chọn các tên khác nhau cho các đối số phương thức và biến đối tượng của mình.

Từ khóa này trong Java

Nhưng lần này, bạn tạo hai đối tượng của lớp, mỗi đối tượng gọi phương thức dữ liệu đã đặt.

Trình biên dịch sẽ xác định xem nó có hoạt động trên biến thể hiện của đối tượng 1 hay đối tượng 2 hay không.

Từ khóa này trong Java

Vâng, trình biên dịch ngầm nối thêm biến thể hiện với từ khóa “this” (hình ảnh bên dưới).

Từ khóa này trong Java

Như vậy, khi đối tượng 1 đang gọi phương thức dữ liệu đã đặt, một biến thể hiện sẽ được thêm vào bởi biến tham chiếu của nó.

Từ khóa này trong Java

Trong khi đối tượng 2 đang gọi phương thức dữ liệu đã đặt, một biến thể hiện của đối tượng 2 sẽ được sửa đổi.

Từ khóa này trong Java

Quá trình này được thực hiện bởi chính trình biên dịch. Bạn không cần phải thêm từ khóa 'this' một cách rõ ràng trừ khi có tình huống đặc biệt như trong ví dụ của chúng tôi.

Từ khóa này trong Java với Ví dụ

Ví dụ: Để tìm hiểu cách sử dụng từ khóa “this”

Bước 1) Sao chép đoạn mã sau vào notepad.

class Account{
int a;
int b;

 public void setData(int a ,int b){
  a = a;
  b = b;
 }
 public void showData(){
   System.out.println("Value of A ="+a);
   System.out.println("Value of B ="+b);
 }
 public static void main(String args[]){
   Account obj = new Account();
   obj.setData(2,3);
   obj.showData();
 }
}

Bước 2) Lưu, biên dịch và chạy mã.

Bước 3) Giá trị của a & b được hiển thị bằng 6? Để sửa lỗi nối thêm dòng # 7 & XNUMX với “điều này“từ khóa.

this.a =a;
this.b =b;

Bước 4) Lưu, biên dịch và chạy mã. Lần này, giá trị của a & b được đặt tương ứng là 2 & 3.

Tổng kết

  • điều này Từ khóa trong Java là một biến tham chiếu đề cập đến đối tượng hiện tại.
  • Một trong những công dụng của từ khóa này trong Java là để tham chiếu biến thể hiện của lớp hiện tại
  • Nó có thể được sử dụng để gọi hoặc khởi tạo hàm tạo của lớp hiện tại
  • Nó có thể được truyền dưới dạng đối số trong lệnh gọi phương thức
  • con trỏ này trong Java có thể được chuyển làm đối số trong lệnh gọi hàm tạo
  • toán tử này trong Java có thể được sử dụng để trả về thể hiện của lớp hiện tại
  • cái này trong Java là một tham chiếu đến đối tượng hiện tại, phương thức của nó đang được gọi.
  • Bạn có thể sử dụng từ khóa “this” để tránh xung đột đặt tên trong phương thức/hàm tạo của phiên bản/đối tượng của bạn.

Kiểm tra bài viết của chúng tôi trên Java Câu hỏi phỏng vấn: - Nhấp vào đây