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

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

วีดีโอ: คลาสที่มีตัวสร้างส่วนตัวสามารถสืบทอดใน Java ได้หรือไม่?
วีดีโอ: สอน Java: การสืบทอดคุณสมบัติและความสามารถจากคลาส (Inheritance) ตอนที่ 1 2024, พฤศจิกายน
Anonim

5 คำตอบ Java ไม่ได้ป้องกันการแบ่งประเภทย่อยของ คลาสกับคอนสตรัคเตอร์ส่วนตัว . สิ่งที่ป้องกันคือย่อย ชั้นเรียน ที่ไม่สามารถเข้าถึงได้ใดๆ ตัวสร้าง ของ super ระดับ . นี้หมายถึง ตัวสร้างส่วนตัว ใช้อย่างอื่นไม่ได้ ระดับ ไฟล์และแพ็คเกจท้องถิ่น ตัวสร้าง ไม่สามารถใช้กับแพ็คเกจอื่นได้

เมื่อพิจารณาถึงสิ่งนี้ เราสามารถสืบทอดคลาสด้วยตัวสร้างส่วนตัวได้หรือไม่

ถ้า คลาสพร้อมตัวสร้างส่วนตัว และปิดผนึก ระดับ ไม่สามารถ ได้รับการถ่ายทอด , แล้วสิ่งที่ใช้ ระดับ ที่ไม่สามารถ ได้รับการถ่ายทอด . และอย่างที่บอกไปก่อนหน้านี้ ตัวสร้างส่วนตัวสามารถ ยกโทษให้เป็น เรา มีคงที่ ชั้นเรียน ตอนนี้. ดังนั้น ตัวสร้างส่วนตัว + ปิดผนึก หมายถึง สถิตย์บริสุทธิ์ ระดับ . ปิดผนึกด้วย ระดับ ไม่สามารถ ได้รับการถ่ายทอด.

อาจมีคนถามอีกว่า คุณไม่สามารถทำอะไรกับคลาสที่มีตัวสร้างส่วนตัวได้ นอกเหนือจากการสร้างซิงเกิลตัน ระดับ , ตัวสร้างส่วนตัว ยังมีประโยชน์สำคัญอื่นๆ อีกมากมาย กับ ตัวสร้างส่วนตัว ตัวอย่างนั้น คลาส can สร้างขึ้นภายในประกาศเท่านั้น ระดับ . โดยการทำ ตัวสร้างส่วนตัว , เราทำได้ ป้องกัน ระดับ จากการถูกขยายโดยผู้อื่น ระดับ.

ในเรื่องนี้ คลาสส่วนตัวสามารถสืบทอดใน Java ได้หรือไม่?

NS java ส่วนตัว สมาชิกไม่สามารถ ได้รับการถ่ายทอด ตามที่ได้ประกาศไว้เท่านั้น จาวาคลาส . ตั้งแต่ ส่วนตัว สมาชิกไม่สามารถ ได้รับการถ่ายทอด , ไม่มีที่สำหรับสนทนาเกี่ยวกับ จาวา รันไทม์โอเวอร์โหลดหรือ จาวา คุณสมบัติการเอาชนะ (polymorphism)

จะเกิดอะไรขึ้นหากคอนสตรัคเตอร์เป็นแบบส่วนตัวใน Java

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

แนะนำ: