CodeGym /หลักสูตร /Java ไวยากรณ์ /การสร้างวัตถุ

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

Java ไวยากรณ์
ระดับ, บทเรียน
มีอยู่
การสร้างวัตถุ - 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ให้กับตัวแปรทั้งหมดที่อ้างถึงอ็อบเจ็กต์นั้น

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

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

1
งาน
Java ไวยากรณ์, ระดับ, บทเรียน
ล็อค
One cat isn't enough
One cat isn't enough

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


1
งาน
Java ไวยากรณ์, ระดับ, บทเรียน
ล็อค
Max, Bella, and Jack
Max, Bella, and Jack
1
งาน
Java ไวยากรณ์, ระดับ, บทเรียน
ล็อค
Subjective reality
Subjective reality
1
งาน
Java ไวยากรณ์, ระดับ, บทเรียน
ล็อค
Code entry
Your attention, please! Now recruiting code entry personnel for CodeGym. Turn up your focus, let your fingers relax, read the code, and then... type it into the appropriate box. Code entry is far from a useless exercise, though it might seem so at first glance: it allows a beginner to get used to and remember syntax (modern IDEs seldom make this possible).
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION