5
มันเป็นการปฏิบัติที่ไม่ถูกต้องหรือไม่ในการสร้างวัตถุใหม่โดยไม่เก็บไว้
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 7 ปีที่ผ่านมา ฉันเคยเห็นวัตถุที่สร้างขึ้นในรหัส Java โดยไม่ต้องจัดเก็บการอ้างอิงถึงวัตถุ ตัวอย่างเช่นในปลั๊กอิน eclipse ฉันเห็น SWT Shell ที่สร้างขึ้นเช่น: new Shell(); วัตถุเชลล์ใหม่นี้ไม่ได้เก็บไว้ในตัวแปร แต่จะยังคงอ้างอิงจนกว่าจะมีการกำจัดหน้าต่างซึ่ง [ฉันเชื่อว่า?] จะเกิดขึ้นตามค่าเริ่มต้นเมื่อปิดหน้าต่าง มันเป็นการปฏิบัติที่ไม่ถูกต้องหรือไม่ในการสร้างวัตถุเช่นนี้ หรือว่าห้องสมุดออกแบบมาไม่ดี? ถ้าฉันไม่ต้องการการอ้างอิง แต่ต้องการเพียง "ผลข้างเคียง" ของวัตถุ? ฉันควรจะเก็บข้อมูลอ้างอิงไว้หรือไม่? UPDATE: ชื่นชมตัวอย่างข้างต้นของฉันไม่ดี ในขณะที่ฉันได้เห็นองค์ประกอบ UI ที่สร้างขึ้นเช่นนี้การสร้าง SWT Shell แบบนี้อาจไม่มีจุดหมายเพราะคุณจำเป็นต้องเรียกใช้วิธีการเปิดบนอินสแตนซ์เชลล์ มีตัวอย่างที่ดีขึ้นโดย aixเช่นต่อไปนี้จากการสอนพร้อมกัน Java : (new HelloThread()).start(); การฝึกฝนนี้มีให้เห็นในหลายบริบทดังนั้นคำถามยังคงอยู่ เป็นการปฏิบัติที่ดีหรือไม่?
23
java