ไม่มีทางที่จะหลีกเลี่ยงการสร้างวัตถุใน Java การสร้างอ็อบเจ็กต์ใน Java เนื่องจากกลยุทธ์การจัดสรรหน่วยความจำนั้นเร็วกว่า C++ ในกรณีส่วนใหญ่ และสำหรับวัตถุประสงค์ในทางปฏิบัติทั้งหมดเมื่อเปรียบเทียบกับอย่างอื่นใน JVM ถือว่า "ฟรี"
วิธีหลีกเลี่ยงการสร้างวัตถุใน Java คืออะไร
ใน java เราสามารถหลีกเลี่ยงการสร้างวัตถุได้ 2 วิธี:
- ทำให้ชั้นเรียนเป็นนามธรรม เพื่อให้เราสามารถหลีกเลี่ยงการสร้างวัตถุที่ไม่จำเป็นด้วยชั้นเรียนเดียวกันและชั้นเรียนอื่น
- ทำให้คอนสตรัคเตอร์เป็นแบบส่วนตัว (รูปแบบการออกแบบซิงเกิลตัน) เพื่อให้เราสามารถหลีกเลี่ยงการสร้างอ็อบเจ็กต์ในคลาสอื่น แต่เราสามารถสร้างออบเจ็กต์ในคลาสพาเรนต์ได้
การสร้างวัตถุใน Java มีราคาแพงหรือไม่
การสร้างวัตถุแต่ละรายการมีราคา แพงพอๆ กับ malloc ใน C หรือของใหม่ใน C++ และไม่มีวิธีง่ายๆ ในการสร้างวัตถุจำนวนมากร่วมกัน คุณจึงไม่สามารถใช้ประโยชน์ได้ ประสิทธิภาพที่คุณได้รับจากการจัดสรรจำนวนมาก
ทำไมเราต้องสร้างวัตถุใน Java
ต้องมีวัตถุใน OOP เพราะสามารถสร้างขึ้นเพื่อเรียกฟังก์ชันที่ไม่คงที่ซึ่งไม่ปรากฏอยู่ในวิธีการหลัก แต่มีอยู่ในชั้นเรียนและยังระบุชื่อให้กับช่องว่างใช้สำหรับเก็บข้อมูล
เราสร้างวัตถุที่ไม่มีสิ่งใหม่ใน Java ได้ไหม
คุณสามารถสร้างวัตถุโดยไม่ต้องสร้างใหม่ผ่าน: Reflection/newInstance, clone และ(de)การทำให้เป็นอนุกรม.