เราควรหลีกเลี่ยงการสร้างวัตถุในจาวาหรือไม่

เราควรหลีกเลี่ยงการสร้างวัตถุในจาวาหรือไม่
เราควรหลีกเลี่ยงการสร้างวัตถุในจาวาหรือไม่
Anonim

ไม่มีทางที่จะหลีกเลี่ยงการสร้างวัตถุใน Java การสร้างอ็อบเจ็กต์ใน Java เนื่องจากกลยุทธ์การจัดสรรหน่วยความจำนั้นเร็วกว่า C++ ในกรณีส่วนใหญ่ และสำหรับวัตถุประสงค์ในทางปฏิบัติทั้งหมดเมื่อเปรียบเทียบกับอย่างอื่นใน JVM ถือว่า "ฟรี"

วิธีหลีกเลี่ยงการสร้างวัตถุใน Java คืออะไร

ใน java เราสามารถหลีกเลี่ยงการสร้างวัตถุได้ 2 วิธี:

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

การสร้างวัตถุใน Java มีราคาแพงหรือไม่

การสร้างวัตถุแต่ละรายการมีราคา แพงพอๆ กับ malloc ใน C หรือของใหม่ใน C++ และไม่มีวิธีง่ายๆ ในการสร้างวัตถุจำนวนมากร่วมกัน คุณจึงไม่สามารถใช้ประโยชน์ได้ ประสิทธิภาพที่คุณได้รับจากการจัดสรรจำนวนมาก

ทำไมเราต้องสร้างวัตถุใน Java

ต้องมีวัตถุใน OOP เพราะสามารถสร้างขึ้นเพื่อเรียกฟังก์ชันที่ไม่คงที่ซึ่งไม่ปรากฏอยู่ในวิธีการหลัก แต่มีอยู่ในชั้นเรียนและยังระบุชื่อให้กับช่องว่างใช้สำหรับเก็บข้อมูล

เราสร้างวัตถุที่ไม่มีสิ่งใหม่ใน Java ได้ไหม

คุณสามารถสร้างวัตถุโดยไม่ต้องสร้างใหม่ผ่าน: Reflection/newInstance, clone และ(de)การทำให้เป็นอนุกรม.