The "สิ่งนี้" คีย์เวิร์ดใน 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