คลาสนามธรรมสามารถมีตัวสร้างได้หรือไม่?
คลาสนามธรรมสามารถมีตัวสร้างได้หรือไม่?

วีดีโอ: คลาสนามธรรมสามารถมีตัวสร้างได้หรือไม่?

วีดีโอ: คลาสนามธรรมสามารถมีตัวสร้างได้หรือไม่?
วีดีโอ: 09-12 จาวา : คลาสนามธรรม 2024, พฤศจิกายน
Anonim

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

อย่างง่ายๆ เหตุใดคลาสนามธรรมจึงมีคอนสตรัคเตอร์

NS ตัวสร้าง ใน Java ไม่ได้ "สร้าง" วัตถุจริง ๆ แต่ใช้เพื่อเริ่มต้นฟิลด์ ลองนึกภาพว่า.ของคุณ คลาสนามธรรมมี ฟิลด์ x และ y และคุณต้องการให้เริ่มต้นด้วยวิธีใดวิธีหนึ่งเสมอ ไม่ว่าในที่สุดคลาสย่อยที่เป็นรูปธรรมจริง ๆ จะถูกสร้างขึ้นในที่สุด

รู้ด้วยว่าคลาสนามธรรมสามารถมีตัวสร้าง C # ได้หรือไม่ คำตอบ: ใช่ an คลาสนามธรรมสามารถมีได้ NS ตัวสร้าง , แม้ว่า คลาสนามธรรม ไม่สามารถยกตัวอย่างได้ หนึ่ง ตัวสร้างคลาสนามธรรม c # ตัวอย่างโค้ด จะ จะอธิบาย เช่น ในโปรแกรม ถ้าเราสร้างวัตถุของอนุพันธ์ ระดับ แล้ว บทคัดย่อ ฐาน ตัวสร้างคลาส will ยังถูกเรียก

ต่อจากนั้น อาจมีคนถามว่า abstract class มีตัวสร้างพารามิเตอร์ใน Java ได้หรือไม่?

ใช่ อัน คลาสนามธรรมสามารถมีได้ NS ตัวสร้างพารามิเตอร์ . นี้ จะ จากนั้นจะใช้โดยคลาสย่อยที่ขยาย คลาสนามธรรม.

คุณจะเรียกคอนสตรัคเตอร์คลาสนามธรรมได้อย่างไร?

คุณสามารถกำหนด a ตัวสร้าง ใน คลาสนามธรรม แต่คุณไม่สามารถสร้างวัตถุนั้นได้ อย่างไรก็ตาม คอนกรีตย่อย ชั้นเรียน สามารถ (และต้อง) เรียก หนึ่งใน ตัวสร้าง ที่กำหนดไว้ใน บทคัดย่อ พ่อแม่ ระดับ . คุณไม่สามารถ เรียก NS ตัวสร้างคลาสนามธรรม กับ ระดับ นิพจน์การสร้างอินสแตนซ์ เช่น