คำหลักนี้ใน Java

คำสำคัญนี้คืออะไร Java?

คำสำคัญนี้ใน Java เป็นตัวแปรอ้างอิงที่อ้างถึงวัตถุปัจจุบันของวิธีการหรือตัวสร้าง วัตถุประสงค์หลักของการใช้คำสำคัญนี้ใน Java คือการลบความสับสนระหว่างแอตทริบิวต์คลาสและพารามิเตอร์ที่มีชื่อเหมือนกัน

การใช้คำสำคัญนี้ใน Java

ต่อไปนี้คือการใช้คำสำคัญ 'this' ในรูปแบบต่างๆ Java:

  • สามารถใช้เพื่ออ้างอิงตัวแปรอินสแตนซ์ของคลาสปัจจุบัน
  • สามารถใช้เพื่อเรียกใช้หรือเริ่มต้นตัวสร้างคลาสปัจจุบัน
  • มันสามารถส่งผ่านเป็นอาร์กิวเมนต์ในการเรียกเมธอด
  • มันสามารถส่งผ่านเป็นอาร์กิวเมนต์ในการเรียกคอนสตรัคเตอร์
  • สามารถใช้เพื่อส่งคืนอินสแตนซ์คลาสปัจจุบัน

คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้

ทำความเข้าใจคำหลัก 'นี้' ด้วยตัวอย่าง

คำหลักนี้ใน Java
Java คำสำคัญนี้ ตัวอย่าง

  1. ชั้น: บัญชีชั้นเรียน
  2. ตัวแปรอินสแตนซ์: ก และ ข
  3. ข้อมูลชุดวิธี: เพื่อตั้งค่าสำหรับ a และ b
  4. วิธีการแสดงข้อมูล: เพื่อแสดงค่าของ a และ b
  5. วิธีการหลัก: โดยที่เราสร้างอ็อบเจ็กต์สำหรับคลาสบัญชีและวิธีการโทรตั้งค่าข้อมูลและแสดงข้อมูล

มาคอมไพล์และรันโค้ดกัน

ผลลัพธ์ที่คาดหวังของเราสำหรับ A และ B ควรเริ่มต้นเป็นค่า 2 และ 3 ตามลำดับ

แต่ค่าเป็น 0 เพราะเหตุใด? ให้สอบสวน.

คำหลักนี้ใน Java

ในเมธอด Set data อาร์กิวเมนต์จะถูกประกาศเป็น a และ b ในขณะที่ตัวแปรอินสแตนซ์จะถูกตั้งชื่อเป็น a และ b เช่นกัน

คำหลักนี้ใน Java

ระหว่างการดำเนินการ คอมไพเลอร์จะสับสนว่า "a" ทางด้านซ้ายของตัวดำเนินการที่กำหนดเป็นตัวแปรอินสแตนซ์หรือตัวแปรโลคัล ดังนั้น คอมไพเลอร์จะไม่ตั้งค่า "a" เมื่อเรียกใช้เมธอด set data

คำหลักนี้ใน Java

วิธีแก้ไขคือคีย์เวิร์ด "นี้"

ผนวกทั้ง 'a' และ 'b' ด้วย Java คำสำคัญนี้ตามด้วยตัวดำเนินการจุด (.)

คำหลักนี้ใน Java

ในระหว่างการเรียกใช้โค้ดเมื่อวัตถุเรียกเมธอด 'setdata' คำหลัก 'นี้' จะถูกแทนที่ด้วยตัวจัดการวัตถุ "obj" (ดูภาพด้านล่าง)

คำหลักนี้ใน Java

ตอนนี้คอมไพเลอร์รู้แล้วว่า

  • 'a' ทางด้านซ้ายมือคือตัวแปรอินสแตนซ์
  • ในขณะที่ 'a' ทางด้านขวามือเป็นตัวแปรท้องถิ่น

เหตุการณ์ ตัวแปร เริ่มต้นได้อย่างถูกต้อง และเอาต์พุตที่คาดหวังจะปรากฏขึ้น

คำหลักนี้ใน Java

สมมติว่าคุณฉลาดพอที่จะเลือกชื่อที่แตกต่างกันสำหรับตัวแปรอินสแตนซ์และอาร์กิวเมนต์ของเมธอด

คำหลักนี้ใน Java

แต่คราวนี้ คุณสร้างอ็อบเจ็กต์สองรายการของคลาส โดยแต่ละอ็อบเจ็กต์เรียกใช้เมธอด set data

วิธีที่คอมไพเลอร์จะพิจารณาว่าควรจะทำงานบนตัวแปรอินสแตนซ์ของวัตถุ 1 หรือวัตถุ 2

คำหลักนี้ใน Java

ดีที่ คอมไพเลอร์ต่อท้ายโดยปริยาย ตัวแปรอินสแตนซ์ที่มีคีย์เวิร์ด “this” (รูปภาพด้านล่าง)

คำหลักนี้ใน Java

เมื่อวัตถุ 1 เรียกใช้เมธอด set data ตัวแปรตัวอย่างจะถูกต่อท้ายด้วยตัวแปรอ้างอิง

คำหลักนี้ใน Java

ขณะที่ออบเจ็กต์ 2 กำลังเรียกใช้เมธอด set data ตัวแปรอินสแตนซ์ของออบเจ็กต์ 2 ได้รับการแก้ไข

คำหลักนี้ใน Java

กระบวนการนี้ได้รับการดูแลโดยคอมไพเลอร์เอง คุณไม่จำเป็นต้องต่อท้ายคำหลัก 'this' อย่างชัดเจน เว้นแต่จะมีสถานการณ์พิเศษตามตัวอย่างของเรา

คำหลักนี้ใน Java พร้อมตัวอย่าง

ตัวอย่าง: เพื่อเรียนรู้การใช้คำสำคัญ “นี้”

ขั้นตอน 1) คัดลอกโค้ดต่อไปนี้ลงใน 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();
 }
}

ขั้นตอน 2) บันทึก คอมไพล์ และรันโค้ด

ขั้นตอน 3) ค่าของ a & b แสดงเป็นศูนย์ใช่หรือไม่ หากต้องการแก้ไขข้อผิดพลาดให้ผนวกบรรทัด # 6 & 7 ด้วย “นี้" คำสำคัญ.

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

ขั้นตอน 4) บันทึก คอมไพล์ และรันโค้ด คราวนี้ ค่าของ a & b ถูกตั้งค่าเป็น 2 และ 3 ตามลำดับ

สรุป

  • นี้ คำสำคัญใน Java เป็นตัวแปรอ้างอิงที่อ้างอิงถึงวัตถุปัจจุบัน
  • การใช้คีย์เวิร์ดนี้ประการหนึ่งคือ Java คือการอ้างอิงตัวแปรอินสแตนซ์คลาสปัจจุบัน
  • สามารถใช้เพื่อเรียกใช้หรือเริ่มต้นตัวสร้างคลาสปัจจุบัน
  • มันสามารถส่งผ่านเป็นอาร์กิวเมนต์ในการเรียกเมธอด
  • ตัวชี้ในนี้ Java สามารถส่งผ่านเป็นอาร์กิวเมนต์ในการเรียกใช้คอนสตรัคเตอร์ได้
  • ผู้ดำเนินการรายนี้ใน Java สามารถใช้เพื่อส่งคืนอินสแตนซ์คลาสปัจจุบันได้
  • นี้ใน Java เป็นการอ้างอิงถึงวัตถุปัจจุบันที่มีการเรียกใช้วิธีการ
  • คุณสามารถใช้คีย์เวิร์ด “this” เพื่อหลีกเลี่ยงความขัดแย้งในการตั้งชื่อในเมธอด/ตัวสร้างอินสแตนซ์/อ็อบเจ็กต์ของคุณ

ตรวจสอบบทความของเราเกี่ยวกับ Java คำถามในการสัมภาษณ์:- คลิกที่นี่