अगर मुझे क्लोनेबल क्लास चाहिए तो मुझे क्लोन ओवरराइड क्यों करना चाहिए? सभी वर्ग Object
से फैले हुए हैं, तो मुझे ऑब्जेक्ट क्लोन विधि को ओवरराइड क्यों करना चाहिए? मैं सिर्फ मूल ऑब्जेक्ट क्लोन विधि का आह्वान क्यों नहीं कर सकता?अगर मुझे क्लोनेबल क्लास चाहिए तो मुझे क्लोन ओवरराइड क्यों करना चाहिए?
6
A
उत्तर
8
यह जेडीके में कई "डिज़ाइन त्रुटियों" में से एक है।
Clonable
एक clone()
विधि के साथ एक अंतरफलक किया गया जाना चाहिए था, लेकिन इसके बजाय यह एक marker interface और Object
clone()
विधि का एक "कुछ भी नहीं" कार्यान्वयन है है ... और आप अपने प्रश्न के साथ छोड़ दिया जाता है।
यदि आप रुचि रखते हैं, this answer जावा में कुछ अन्य "गलतियों" को सूचीबद्ध करता है।
1
यहाँ देखें: http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Cloneable.html
एक उदाहरण को लागू नहीं है कि अपवाद CloneNotSupportedException में Cloneable इंटरफ़ेस परिणाम फेंके जाने पर वस्तु का क्लोन विधि लागू।
इसके अलावा मुझे लगता है कि इस चर्चा के लिए मददगार होगा: Confusion about cloneable interface and object.clone() in java
संबंधित मुद्दे
- 1. मुझे * * * GetHashCode() को ओवरराइड क्यों करना चाहिए?
- 2. जब मैं बराबर() विधि को ओवरराइड करता हूं तो मुझे हैशकोड() को ओवरराइड क्यों करना चाहिए?
- 3. मुझे गिटिनोरोर का उपयोग क्यों करना चाहिए?
- 4. मुझे मैन्युअल डबल बफरिंग क्यों करना चाहिए?
- 5. मुझे @properties का उपयोग क्यों करना चाहिए?
- 6. मुझे क्या करना चाहिए?
- 7. मुझे डोलॉल्स का उपयोग क्यों करना चाहिए?
- 8. मुझे फ्लेक्स का उपयोग क्यों करना चाहिए?
- 9. मुझे सॉकेट.ओ का उपयोग क्यों करना चाहिए?
- 10. मुझे एमएक्सएमएल का उपयोग क्यों करना चाहिए?
- 11. मुझे ईएमएफ का उपयोग क्यों करना चाहिए?
- 12. नाइटली बिल्ड: मुझे ऐसा क्यों करना चाहिए?
- 13. मुझे डिस्पैचर का उपयोग क्यों करना चाहिए?
- 14. मुझे glbindAttribLocation का उपयोग क्यों करना चाहिए?
- 15. मुझे एक एपीआई चाहिए। मुझे कहां से शुरू करना चाहिए?
- 16. एंड्रॉइड व्यू ग्रुप: मुझे ऑनआउट() ओवरराइड में क्या करना चाहिए?
- 17. मुझे std :: get_temporary_buffer क्यों चाहिए?
- 18. मुझे COM क्यों सीखना चाहिए?
- 19. क्या मुझे सेवा() या doPost() को ओवरराइड करना चाहिए?
- 20. अगर मैं वर्चुअलएन्व का उपयोग करता हूं तो मुझे योनि का उपयोग क्यों करना चाहिए?
- 21. जब मुझे कुछ आइटम चाहिए, तो क्या मुझे इसके बजाय "int id" का उपयोग करना चाहिए?
- 22. मुझे कितना अनुकूलित करना चाहिए?
- 23. मुझे किस तृतीय पक्ष Imageview क्लास का उपयोग करना चाहिए?
- 24. पायथन में, मुझे मेटा क्लास का उपयोग कब करना चाहिए?
- 25. क्या मुझे ऑब्जेक्ट और माईटाइप के लिए == ओवरराइड करना चाहिए?
- 26. क्या मुझे डिफ़ॉल्ट निष्पादन कॉन्टेक्स्ट को ओवरराइड करना चाहिए?
- 27. जब (अगर बिल्कुल) मुझे Bitmap.recycle() का उपयोग करना चाहिए?
- 28. मुझे आवेदन कोड में क्लासटाइप का उपयोग क्यों करना चाहिए?
- 29. मुझे खाली बेस क्लास कहां रखना चाहिए?
- 30. मुझे पैरामीटर का उपयोग कब करना चाहिए?
साथ ही आप इस उत्तर चेकआउट करने के लिए चाहते हो सकता है: http://stackoverflow.com/questions/3652748/cloning-objects-in-java- 3-प्रश्न/3652767 # 3652767 – nkr
आप हमेशा अपनी कक्षा में एक कॉपी विधि लिख सकते हैं। आपको कुछ भी ओवरराइड करने की ज़रूरत नहीं है। –