Computer >> Máy Tính >  >> Lập trình >> Java

Có thể gán một tham chiếu đến điều này trong java không?


"cái này" từ khóa trong Java được sử dụng như một tham chiếu đến đối tượng hiện tại, trong một phương thức thể hiện hoặc một phương thức khởi tạo. Sử dụng nó, bạn có thể tham chiếu các thành viên của một lớp như hàm tạo, biến và phương thức.

Có thể gán một tham chiếu đến điều này trong java không?

Gán tham chiếu cho "this"

Theo định nghĩa "this" là một từ khóa hoạt động như một tham chiếu đến đối tượng hiện tại (đối tượng từ phương thức khởi tạo / phương thức mà bạn đang sử dụng nó), id giá trị của nó là cố định. Do đó, bạn không thể gán giá trị tham chiếu mới cho nó. Hơn nữa, nó chỉ là một từ khóa, không phải là một biến.

Tuy nhiên, nếu bạn cố gắng nó sẽ chỉ định một giá trị tham chiếu cho "this" nó dẫn đến lỗi biên dịch.

Ví dụ

Trong chương trình Java sau, lớp (ExampleClass) có hai tên biến riêng, tuổi và, một phương thức khởi tạo được tham số hóa để khởi tạo các biến này. Từ một phương thức có tên là display, chúng tôi đang cố gắng gán một giá trị mới cho "cái này" .

public class ExampleClass {
   private String name;
   private int age;
   public ExampleClass(String name, int age){
      this.name = name;
      this.age = age;
   }
   public void display(){
      this = new ExampleClass("krishna", 23);
   }
}

Lỗi thời gian biên dịch

Khi biên dịch, chương trình này cho bạn một lỗi như hình dưới đây -

ExampleClass.java:14: error: cannot assign a value to final variable this
      this = new ExampleClass("krishna", 23);
      ^
1 error