ออบเจ็กต์และการอ้างอิงเป็นคำศัพท์ที่เกี่ยวข้องกับ 'คลาส' ในภาษาการเขียนโปรแกรมจาวา
อ้างอิงกับวัตถุใน Java
ความแตกต่างระหว่างอ็อบเจ็กต์และการอ้างอิงคืออ็อบเจ็กต์คืออินสแตนซ์ของคลาส และถูกเก็บไว้ในสล็อตหน่วยความจำบางช่อง 'ข้อมูลอ้างอิง' ชี้ไปยังตำแหน่งที่เก็บตัวแปรและเมธอดของ 'อ็อบเจ็กต์'
คลาสคือพิมพ์เขียวหรือเทมเพลตที่ให้คำแนะนำในการสร้างวัตถุ ออบเจ็กต์มีพื้นฐานอยู่บนโครงสร้างนี้ และฟิลด์ที่จำเป็นตามเทมเพลตคลาสนั้นจะถูกเติม
การอ้างอิงหน่วยความจำ เป็นเพียงชื่อที่กล่าวถึง การอ้างอิงถึงสล็อตหน่วยความจำ ผู้ใช้สามารถใช้การอ้างอิงหน่วยความจำเพื่อค้นหาที่อยู่ของที่เก็บวัตถุ
ตารางเปรียบเทียบระหว่างการอ้างอิงและวัตถุใน Java (ในรูปแบบตาราง)
พารามิเตอร์ของการเปรียบเทียบ | วัตถุ | อ้างอิง |
---|---|---|
ความหมายพื้นฐาน | เป็นอินสแตนซ์ของคลาสและองค์ประกอบทั้งหมดที่มีจะขึ้นอยู่กับพิมพ์เขียวของชั้นเรียน | การอ้างอิงหน่วยความจำอย่างง่ายที่ชี้ไปยังตำแหน่งที่จัดเก็บวัตถุไว้ในช่องเสียบหน่วยความจำ |
รูปแบบการสร้างสรรค์ | มีรูปแบบที่เรียบง่ายสำหรับการสร้างวัตถุ:ClassName reference_variable = new ClassName(พร้อมพารามิเตอร์); | การอ้างอิงหน่วยความจำถูกสร้างขึ้นควบคู่ไปกับวัตถุ ใช้ในรูปแบบสำหรับการสร้างวัตถุและได้รับชื่อตัวแปร |
องค์ประกอบ | ประกอบด้วยเมธอดและตัวแปรตามคลาส | ประกอบด้วยลำดับของบิตที่เก็บที่อยู่ของวัตถุ |
เปลี่ยนแปลงได้ | วัตถุมีสถานะและพฤติกรรมที่สามารถเปลี่ยนแปลงได้ กล่าวคือ สถานะของวัตถุสามารถเปลี่ยนแปลงได้ | ค่าตัวแปรอ้างอิงไม่สามารถเปลี่ยนแปลงได้ สามารถคงอยู่เป็นประเภทข้อมูลที่ประกาศเป็นเท่านั้น |
ความหมายเสมือน | เป็นเอนทิตีในโลกแห่งความเป็นจริงที่เก็บหน่วยความจำหรือข้อมูลบางรูปแบบ | เป็นเพียงชื่อตัวแปรซึ่งไม่มีความหมายที่แท้จริง ก็เหมือนชื่อของบุคคล ที่อ้างอิงถึงบุคคลนั้น |
การอ้างอิงใน Java คืออะไร?
การอ้างอิงคือสิ่งที่ระบุที่อยู่ให้กับสถานที่ที่มีการจัดสรรหน่วยความจำอ็อบเจ็กต์
วัตถุนี้ไม่เคยใช้โดยตรง เราแทนกำหนดตัวแปรอ้างอิง ซึ่งทำหน้าที่เป็นคนกลาง ทางอ้อมระหว่างวัตถุที่ถูกเรียกและวัตถุที่เก็บไว้ในหน่วยความจำ
Java ยังอนุญาตให้มีการอ้างอิง 4 ประเภทที่แตกต่างกัน –
การอ้างอิงถูกสร้างขึ้นในรูปแบบสำหรับการสร้างวัตถุจากคลาส –
ชื่อคลาส ข้อมูลอ้างอิง_ตัวแปร = ชื่อคลาสใหม่ (พร้อมพารามิเตอร์);
ที่นี่ 'reference_variable' คือค่าที่กำหนดให้กับการอ้างอิง ค่านี้ไม่สามารถเปลี่ยนแปลงได้ และเป็นข้อมูลประเภทเดียวเท่านั้น อย่างไรก็ตาม สิ่งสำคัญที่ควรทราบเกี่ยวกับการอ้างอิงก็คือ การอ้างอิงเดียวกันสามารถกำหนดให้กับหลายอ็อบเจ็กต์ได้ หากจำเป็น
Object ใน Java คืออะไร?
วัตถุเป็นเพียงตัวอย่างของคลาส มันแสดงถึงโครงสร้างของคลาสและทำตามคำแนะนำในพิมพ์เขียวสำหรับองค์ประกอบทั้งหมดที่มีอยู่ในนั้น เช่น วิธีการและตัวแปร
วัตถุมีสถานะและพฤติกรรม ในที่นี้ รัฐเป็นเอนทิตี 'นามธรรม' ซึ่งมีคุณสมบัติทั้งหมดของออบเจกต์ เช่นเดียวกับค่าของคุณสมบัติเหล่านั้น พูดง่ายๆ ก็คือ สภาพของมนุษย์ก็คือ ชื่อ เชื้อชาติ อายุ ฯลฯ
พฤติกรรมผูกมัดโครงสร้างของวัตถุ พวกเขาผูกความสัมพันธ์ระหว่างแอตทริบิวต์เพื่อให้วัตถุสามารถดำเนินการฟังก์ชัน/การดำเนินการเมื่อมีการเรียก พูดง่ายๆ เราสามารถพูดได้ว่าสำหรับมนุษย์แล้ว พฤติกรรมจะเป็น- ทำอาหาร เดิน พูด ฯลฯ
'วัตถุ' ถูกสร้างขึ้นโดยใช้ 3 ขั้นตอนที่แตกต่าง -
ในขั้นแรก ประกาศมีการประกาศชื่อตัวแปรของประเภทอ็อบเจ็กต์ ซึ่งจะกลายเป็นข้อมูลอ้างอิงสำหรับหน่วยความจำอ็อบเจ็กต์
ในขั้นตอนที่สอง การสร้างอินสแตนซ์, เรามีคีย์เวิร์ดคือ 'ใหม่' ซึ่งใช้ในการสร้างออบเจกต์
ในขั้นตอนที่สาม การเริ่มต้นเรามีคีย์เวิร์ด 'ใหม่' ซึ่งตามด้วย 'คอนสตรัคเตอร์' ซึ่งมีชื่อเดียวกับคลาสที่ใช้สร้างออบเจกต์ พร้อมด้วยพารามิเตอร์ สิ่งนี้เรียกตัวสร้างเพื่อช่วยเราเริ่มต้นวัตถุใหม่ที่เรากำลังสร้าง
รูปแบบที่คอมไพล์สำหรับการสร้างวัตถุเป็นเช่นนี้ –
ClassName reference_variable = new ClassName(พร้อมพารามิเตอร์);
ที่นี่ การอ้างอิงถูกสร้างขึ้นโดยใช้ 'reference_variable' และ ClassName (พร้อมพารามิเตอร์) คือการเรียก Constructor
ตัวอย่าง – Person stu1 = new Person();
ในที่นี้ Person อ้างถึงคลาส stu1 คือค่าของตัวแปรอ้างอิงที่ชี้ไปที่อ็อบเจกต์ใหม่ที่กำลังสร้าง และ Person() คือคอนสตรัคเตอร์
ความแตกต่างหลักระหว่างการอ้างอิงและวัตถุใน Java
บทสรุป
ออบเจ็กต์และการอ้างอิงมีความเกี่ยวพันกันเมื่อพูดถึงการทำงาน ไม่สามารถเห็นหรือกำหนดวัตถุได้โดยตรง ดังนั้นเราจึงใช้การอ้างอิงเพื่อจัดสรรชื่อหรือตัวแปรที่ทำหน้าที่เป็นคนกลางแทน
ข้อมูลอ้างอิงช่วยให้เราสามารถเรียกวัตถุนั้นทางอ้อมได้ เนื่องจากมันรู้ที่อยู่ของที่เก็บวัตถุ ขณะสร้างวัตถุ เราจะเห็นได้ว่าข้อมูลอ้างอิงถูกสร้างขึ้นพร้อมกับวัตถุ และเนื่องจากเป็นรูปแบบพื้นฐานและเรียบง่าย จึงช่วยประหยัดเวลาและมีประสิทธิภาพ