วีดีโอ: คลาสที่มีตัวสร้างส่วนตัวสามารถสืบทอดใน Java ได้หรือไม่?
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
5 คำตอบ Java ไม่ได้ป้องกันการแบ่งประเภทย่อยของ คลาสกับคอนสตรัคเตอร์ส่วนตัว . สิ่งที่ป้องกันคือย่อย ชั้นเรียน ที่ไม่สามารถเข้าถึงได้ใดๆ ตัวสร้าง ของ super ระดับ . นี้หมายถึง ตัวสร้างส่วนตัว ใช้อย่างอื่นไม่ได้ ระดับ ไฟล์และแพ็คเกจท้องถิ่น ตัวสร้าง ไม่สามารถใช้กับแพ็คเกจอื่นได้
เมื่อพิจารณาถึงสิ่งนี้ เราสามารถสืบทอดคลาสด้วยตัวสร้างส่วนตัวได้หรือไม่
ถ้า คลาสพร้อมตัวสร้างส่วนตัว และปิดผนึก ระดับ ไม่สามารถ ได้รับการถ่ายทอด , แล้วสิ่งที่ใช้ ระดับ ที่ไม่สามารถ ได้รับการถ่ายทอด . และอย่างที่บอกไปก่อนหน้านี้ ตัวสร้างส่วนตัวสามารถ ยกโทษให้เป็น เรา มีคงที่ ชั้นเรียน ตอนนี้. ดังนั้น ตัวสร้างส่วนตัว + ปิดผนึก หมายถึง สถิตย์บริสุทธิ์ ระดับ . ปิดผนึกด้วย ระดับ ไม่สามารถ ได้รับการถ่ายทอด.
อาจมีคนถามอีกว่า คุณไม่สามารถทำอะไรกับคลาสที่มีตัวสร้างส่วนตัวได้ นอกเหนือจากการสร้างซิงเกิลตัน ระดับ , ตัวสร้างส่วนตัว ยังมีประโยชน์สำคัญอื่นๆ อีกมากมาย กับ ตัวสร้างส่วนตัว ตัวอย่างนั้น คลาส can สร้างขึ้นภายในประกาศเท่านั้น ระดับ . โดยการทำ ตัวสร้างส่วนตัว , เราทำได้ ป้องกัน ระดับ จากการถูกขยายโดยผู้อื่น ระดับ.
ในเรื่องนี้ คลาสส่วนตัวสามารถสืบทอดใน Java ได้หรือไม่?
NS java ส่วนตัว สมาชิกไม่สามารถ ได้รับการถ่ายทอด ตามที่ได้ประกาศไว้เท่านั้น จาวาคลาส . ตั้งแต่ ส่วนตัว สมาชิกไม่สามารถ ได้รับการถ่ายทอด , ไม่มีที่สำหรับสนทนาเกี่ยวกับ จาวา รันไทม์โอเวอร์โหลดหรือ จาวา คุณสมบัติการเอาชนะ (polymorphism)
จะเกิดอะไรขึ้นหากคอนสตรัคเตอร์เป็นแบบส่วนตัวใน Java
Java – ตัวสร้างส่วนตัว ตัวอย่าง. การใช้ ตัวสร้างส่วนตัว คือการให้บริการชั้นเรียนซิงเกิลตัน โดยใช้ ตัวสร้างส่วนตัว เราสามารถมั่นใจได้ว่าจะสามารถสร้างวัตถุได้ไม่เกินครั้งละหนึ่งรายการ โดยให้ ตัวสร้างส่วนตัว คุณป้องกันไม่ให้มีการสร้างอินสแตนซ์ของคลาสในที่อื่นนอกเหนือจากคลาสนี้
แนะนำ:
เราสามารถเชื่อมสตริงและจำนวนเต็มใน Java ได้หรือไม่?
เชื่อมสตริงให้เป็นค่า int ใน Java หากต้องการเชื่อมสตริงให้เป็นค่า int ให้ใช้ตัวดำเนินการต่อ ค่า int = 3; ตอนนี้ ในการต่อสตริง คุณต้องประกาศสตริงและใช้ตัวดำเนินการ +
คุณสามารถเพิ่มสองอาร์เรย์ใน Java ได้หรือไม่?
คุณไม่สามารถใช้ตัวดำเนินการบวกเพื่อเพิ่มสองอาร์เรย์ใน Java เช่น หากคุณมี int อาร์เรย์สองตัว a1 และ a2 การทำ a3 = a1 + a2 จะทำให้เกิดข้อผิดพลาดในการคอมไพล์ วิธีเดียวที่จะเพิ่มสองอาร์เรย์ใน Java คือการวนซ้ำและเพิ่มแต่ละองค์ประกอบและจัดเก็บไว้ในอาร์เรย์ใหม่
เมธอดส่วนต่อประสานสามารถมีพารามิเตอร์ Java ได้หรือไม่
อินเทอร์เฟซ Java คล้ายกับคลาส Java เล็กน้อย ยกเว้นอินเทอร์เฟซ Java สามารถมีได้เฉพาะลายเซ็นเมธอดและฟิลด์เท่านั้น อินเทอร์เฟซ Java ไม่ได้มีวัตถุประสงค์เพื่อให้มีการใช้งานเมธอด เฉพาะลายเซ็น (ชื่อ พารามิเตอร์ และข้อยกเว้น) ของเมธอด
คุณสามารถมีหลายคลาสในซอร์สไฟล์ Java ได้หรือไม่?
ใช่มันสามารถ อย่างไรก็ตาม มีได้เพียงคลาสสาธารณะต่อหนึ่งคลาสเท่านั้น java เนื่องจาก publicclasses ต้องมีชื่อเดียวกับไฟล์ต้นฉบับ ไฟล์ Java หนึ่งไฟล์สามารถประกอบด้วยหลายคลาสโดยมีข้อจำกัดว่ามีเพียงไฟล์เดียวเท่านั้นที่สามารถเป็นแบบสาธารณะได้
สามารถใช้ Break ในคำสั่ง if ใน Java ได้หรือไม่?
คำสั่ง 'break' ไม่ทำงานภายในคำสั่ง 'if' หากคุณลบคำสั่ง 'break' ออกจากโค้ดของคุณแล้วทดสอบโค้ด คุณจะพบว่าโค้ดทำงานเหมือนกันทุกประการโดยไม่มีคำสั่ง 'break' เช่นเดียวกับคำสั่ง 'Break' ออกแบบมาเพื่อใช้งานภายในลูป (for, while, do-while, Enhanced for and switch)