Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เป็นไปได้ไหมที่จะกำหนดการอ้างอิงถึงสิ่งนี้ใน java?


The "สิ่งนี้" คีย์เวิร์ดใน Java ถูกใช้เพื่ออ้างอิงถึงอ็อบเจ็กต์ปัจจุบัน ภายในเมธอดของอินสแตนซ์หรือคอนสตรัคเตอร์ คุณสามารถอ้างอิงสมาชิกของคลาสได้ เช่น ตัวสร้าง ตัวแปร และวิธีการ

เป็นไปได้ไหมที่จะกำหนดการอ้างอิงถึงสิ่งนี้ใน java?

กำหนดการอ้างอิงถึง "สิ่งนี้"

ตามคำจำกัดความ "นี่" เป็นคีย์เวิร์ดที่ทำหน้าที่อ้างอิงถึงอ็อบเจกต์ปัจจุบัน (อ็อบเจกต์จากตัวสร้าง/เมธอดที่คุณใช้มัน) id ค่าของมันจะคงที่ ดังนั้น คุณจึงไม่สามารถกำหนดค่าอ้างอิงใหม่ได้ นอกจากนี้ยังเป็นเพียงคีย์เวิร์ด ไม่ใช่ตัวแปร

อย่างไรก็ตาม หากคุณพยายามที่จะกำหนดค่าอ้างอิงให้กับ "สิ่งนี้" มันนำไปสู่ข้อผิดพลาดในการรวบรวม

ตัวอย่าง

ในโปรแกรม Java ต่อไปนี้ คลาส (ExampleClass) มีชื่อตัวแปรไพรเวตสองตัว อายุ และคอนสตรัคเตอร์แบบกำหนดพารามิเตอร์ซึ่งสร้างอินสแตนซ์ของตัวแปรเหล่านี้ จากเมธอดที่ชื่อว่า display เรากำลังพยายามกำหนดค่าใหม่ให้กับ "นี่" .

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);
   }
}

ข้อผิดพลาดในการคอมไพล์

ในการคอมไพล์ โปรแกรมนี้แสดงข้อผิดพลาดดังที่แสดงด้านล่าง -

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