เราทำให้คอนสตรัคเตอร์เป็นแบบสแตติกได้ไหม

สารบัญ:

เราทำให้คอนสตรัคเตอร์เป็นแบบสแตติกได้ไหม
เราทำให้คอนสตรัคเตอร์เป็นแบบสแตติกได้ไหม
Anonim

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

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

ถ้าเราประกาศตัวสร้างเป็นแบบสแตติก จากนั้นคลาสย่อยจะไม่สามารถเข้าถึงได้และจะอยู่ในระดับคลาสเท่านั้น โปรแกรมจะไม่ถูกคอมไพล์และแสดงข้อผิดพลาดในการคอมไพล์ มาทำความเข้าใจกันด้วยตัวอย่าง: StaticConstructorExample.

Constructor สามารถเป็นแบบส่วนตัวหรือแบบคงที่ได้หรือไม่

ใช่ เราสามารถประกาศตัวสร้างเป็นแบบส่วนตัวได้ หากเราประกาศตัวสร้างเป็นแบบส่วนตัว เราไม่สามารถสร้างวัตถุของคลาสได้ เราสามารถใช้ตัวสร้างส่วนตัวนี้ในรูปแบบการออกแบบซิงเกิลตัน

เราทำให้คอนสตรัคเตอร์คงที่ใน CPP ได้ไหม

C++ ไม่มีตัวสร้างแบบคงที่ แต่คอนสตรัคเตอร์แบบสแตติกสามารถจำลองได้โดยใช้คลาสเพื่อนหรือคลาสที่ซ้อนกันดังนี้

Constructor เป็นตัวสุดท้ายได้ไหม

ไม่ คอนสตรัคเตอร์ไม่สามารถทำให้เสร็จได้ เมธอดสุดท้ายไม่สามารถแทนที่โดยคลาสย่อยใดๆ … แต่ในคลาสย่อยการสืบทอดสืบทอดสมาชิกของ super class ยกเว้น Constructor กล่าวอีกนัยหนึ่ง คอนสตรัคเตอร์ไม่สามารถสืบทอดใน Java ได้ ดังนั้นจึงไม่จำเป็นต้องเขียนขั้นสุดท้ายก่อนตัวสร้าง