Bài đăng nổi bật


Từ khóa THIS trong Java là gì?

Keyword THIS là một biến tham chiếu trong Java dùng để chỉ đối tượng hiện tại.
Các cách sử dụng khác nhau của từ khóa 'this' trong Java như sau:
  • 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 lớp hiện tại
  • Nó có thể được thông qua như là một đối số trong cuộc gọi phương thức
  • Nó có thể được truyền dưới dạng đố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

Hiểu từ khóa 'this' với một ví dụ


Từ khóa Java này
  1. Class : Tài khoản lớp
  2. Instance Variable : a và b
  3. Method Set data : Để đặt giá trị cho a và b.
  4. Method Show data : Để hiển thị các giá trị cho a và b.
  5. Main method: nơi chúng ta tạo một đối tượng cho lớp Tài khoản và các phương thức gọi đặ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 nên được khởi tạo cho các giá trị 2 và 3 tương ứng.
Nhưng giá trị là 0, tại sao? Hãy điều tra.
Từ khóa Java này
Trong phương thức Đặt dữ liệu, 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 Java này
Trong quá trình thực thi, trình biên dịch bị nhầm lẫn. Cho dù "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 phương thức được gọi.
Từ khóa Java này
Giải pháp là từ khóa "this"
Nối cả 'a' và 'b' với từ khóa "this" theo sau là toán tử dấu chấm (.).
Từ khóa Java này
Từ khóa Java này
Vì vậy, bây giờ trình biên dịch biết,
  • 'A' ở phía bên trái là một biến Instance.
  • Trong khi 'a' ở phía bên tay phải là một biến cục bộ
Các biến được khởi tạo chính xác và đầu ra dự kiến ​​được hiển thị.
Từ khóa Java này
Giả sử bạn đủ thông minh để chọn các tên khác nhau cho các đối số biến và phương thức của bạn.
Từ khóa Java này
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.
Làm thế nào trình biên dịch sẽ xác định liệu nó được cho là hoạt động trên biến đối tượng của đối tượng 1 hoặc đối tượng 2.
Từ khóa Java này
Chà, 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 Java này
Như vậy khi đối tượng 1 đang gọi phương thức dữ liệu đã đặt, một biến đối tượng được thêm vào bởi biến tham chiếu của nó.
Từ khóa Java này
Trong khi đối tượng 2 đang gọi phương thức dữ liệu đã đặt, một biến đối tượng của đối tượng 2 được sửa đổi.
Từ khóa Java này
Quá trình này được chăm sóc 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ó một tình huống đặc biệt như trong ví dụ của chúng tôi.
Ví dụ: Để tìm hiểu sử dụng từ khóa "this"
Bước 1) Sao chép 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 0? Để sửa lỗi nối thêm dòng số 6 & 7 với từ khóa " this ".
this.a =a;
this.b =b;
Bước 4) Lưu, biên dịch và chạy mã. Lần này, các giá trị của a & b được đặt thành 2 & 3 tương ứng.

Tóm lược

  • Từ khóa 'this' trong Java là một biến tham chiếu đề cập đến đối tượng hiện tại.
  • 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 lớp hiện tại
  • Nó có thể được thông qua như là một đối số trong cuộc gọi phương thức
  • Nó có thể được truyền dưới dạng đố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
  • "này" là một tham chiếu đến đối tượng hiện tại, có phương thức đ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 đối tượng / đối tượng của bạn.

Post a Comment

أحدث أقدم