การสร้างวัตถุ - 1

"สวัสดี คุณครูคนโปรดของคุณอีกแล้ว เนื่องจากคุณกำลังก้าวหน้าอย่างมาก ฉันจึงตัดสินใจบอกคุณเกี่ยวกับวัตถุและวิธีทำงานกับพวกเขา"

" ในการสร้างวัตถุ คุณต้องพิมพ์คำหลัก 'ใหม่' ตามด้วยชื่อประเภท (ชื่อคลาส)ตัวอย่างเช่น สมมติว่าเรามีคลาสชื่อ 'แมว':"

รหัส คำอธิบาย
Cat cat;
ประกาศตัวแปรอ้างอิง Cat ชื่อ cat ค่าของตัวแปร cat เป็นโมฆะ
new Cat();
สร้างวัตถุ Cat
Cat cat = new Cat();
สร้างตัวแปรอ้างอิง Cat ชื่อ cat
สร้างวัตถุ Cat ใหม่ กำหนดการอ้างอิงไปยังวัตถุที่สร้างขึ้นใหม่ให้กับตัวแปรแมว
Cat kitty = new Cat();
Cat smokey = new Cat();
สร้างสองวัตถุ การอ้างอิงถึงพวกเขาถูกกำหนดให้กับสองตัวแปรที่แตกต่างกัน
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
สร้างสองวัตถุ การอ้างอิงถึงพวกเขาถูกกำหนดให้กับสองตัวแปรที่แตกต่างกัน

จากนั้นเราตั้งค่าตัวแปรสโมคกี้เท่ากับการอ้างอิงถึงวัตถุที่อ้างอิงโดยตัวแปรคิตตี้ ตัวแปรทั้งสองอ้างถึงวัตถุที่สร้างขึ้นครั้งแรก
(เนื่องจากอ็อบเจกต์ที่สองไม่ได้อ้างอิงจากที่ใดอีกต่อไป จึงถือว่าเป็นขยะ)

Cat kitty = new Cat();
Cat smokey = null;

smokey = kitty;

kitty = null;
วัตถุ Cat หนึ่งรายการถูกสร้างขึ้น และการอ้างอิงไปยังวัตถุนั้นถูกกำหนดให้กับตัวแปรตัวแรก (kitty) ตัวแปรที่สอง (สโมคกี้) เก็บการอ้างอิงที่ว่างเปล่า (null)

ตัวแปรทั้งสองอ้างถึงวัตถุเดียวกัน

ตอนนี้เฉพาะสโมคกี้ แต่ไม่ใช่คิตตี้หมายถึงวัตถุ

"จะเกิดอะไรขึ้นหากเราสร้างวัตถุแล้วไม่บันทึกการอ้างอิงในตัวแปรใดๆ"

"หากเราสร้างออบเจกต์โดยไม่กำหนดให้กับตัวแปร เครื่อง Java จะสร้างมันขึ้นมาแล้วประกาศว่าเป็นขยะ (ออบเจกต์ที่ไม่ได้ใช้) หลังจากนั้นไม่นาน ออบเจ็กต์จะถูกกำจัดในระหว่างการรวบรวมขยะ "

"ฉันจะทิ้งสิ่งของที่ไม่ต้องการแล้วได้อย่างไร"

"คุณทำไม่ได้ทันทีที่ไม่มีตัวแปรใดอ้างถึงออบเจกต์ มันจะถูกระบุว่าเป็นขยะและเครื่อง Java จะถูกทำลายในครั้งต่อไปที่รวบรวมขยะ "

ตราบใดที่มีการอ้างอิงถึงออบเจกต์อย่างน้อยหนึ่งรายการ จะถือว่าใช้งานอยู่และจะไม่ถูกทำลาย หากคุณต้องการกำจัดออบเจกต์เร็วกว่านี้ คุณสามารถล้างการอ้างอิงทั้งหมดโดยกำหนดค่าnullให้กับตัวแปรทั้งหมดที่อ้างถึงอ็อบเจ็กต์นั้น

"เข้าใจแล้ว เมื่อเทียบกับบทเรียนสองสามบทที่ผ่านมา มันดูค่อนข้างเรียบง่าย"

"ดิเอโกนอนคิดงานให้คุณทั้งคืน เขาพยายามเป็นพิเศษเพื่อคุณ เขามีอารมณ์ขันมาก คุณรู้ไหม"


ตัวอย่างการบรรยายพร้อมผู้ให้คำปรึกษาซึ่งเป็นส่วนหนึ่งของหลักสูตร Codegym University ลงทะเบียนสำหรับหลักสูตรเต็ม