क्या हम जावा में स्थिर आंतरिक कक्षा को क्रमबद्ध कर सकते हैं? कक्षा को यहां स्थिर के रूप में घोषित किया गया है।स्थैतिक आंतरिक वर्ग का क्रमीकरण
उत्तर
एक स्थिर आंतरिक वर्ग इस संबंध में शीर्ष-स्तरीय वर्ग से अलग नहीं है: इसे Serializable
लागू करने के लिए घोषित किया जा सकता है (या Serializable
लागू करने के लिए घोषित कक्षा का उप-वर्ग है)। साथ ही, शीर्ष-स्तरीय कक्षाओं के साथ, रन टाइम पर सीरियलाइजेशन के दौरान सामने आने वाली सभी वस्तुओं को NotSerializableException
से बचने के लिए क्रमिक होना चाहिए। चूंकि आंतरिक वर्ग static
है, बाहरी वर्ग की प्रकृति इस के लिए अप्रासंगिक है।
सभी दोस्तों को धन्यवाद। मुझे आपके लोगों से जो चाहिए वह मिला। – Tinkerbel
ऐसा लगता है कि उत्तर अब जावा संस्करण द्वारा भिन्न हो सकता है।
JDK 7 में क्रमबद्धता कल्पना का कहना है:
नोट - इनर क्लासों (अर्थात, नेस्टेड वर्गों है कि स्थिर सदस्य कक्षाएं नहीं हैं), स्थानीय और अनाम कक्षाओं सहित की क्रमबद्धता, दृढ़ता से कई कारणों से हतोत्साहित किया जाता है। चूंकि गैर स्थैतिक संदर्भों में घोषित आंतरिक वर्गों में कक्षा के उदाहरणों को घेरने के लिए अंतर्निहित गैर-क्षणिक संदर्भ होते हैं, ऐसे आंतरिक वर्ग उदाहरण को क्रमबद्ध करने के परिणामस्वरूप इसके संबंधित बाहरी वर्ग के उदाहरण के क्रमिकरण भी होंगे। आंतरिक वर्गों को लागू करने के लिए जावैक (या अन्य जावाटीएम कंपाइलर्स) द्वारा उत्पन्न सिंथेटिक फ़ील्ड कार्यान्वयन निर्भर हैं और संकलक के बीच भिन्न हो सकते हैं; ऐसे क्षेत्रों में मतभेद संगतता को बाधित कर सकते हैं साथ ही विरोधाभासी डिफ़ॉल्ट serialVersionUID मानों में परिणाम भी हो सकता है। स्थानीय और अज्ञात आंतरिक कक्षाओं को सौंपा गया नाम भी कार्यान्वयन पर निर्भर है और संकलक के बीच भिन्न हो सकता है। चूंकि आंतरिक कक्षाएं संकलित-समय निरंतर फ़ील्ड के अलावा स्थिर सदस्यों की घोषणा नहीं कर सकती हैं, इसलिए वे क्रमिक फ़ील्ड को नामित करने के लिए धारावाहिक पर्सिस्टेंट फ़ील्ड तंत्र का उपयोग नहीं कर सकते हैं। अंत में, क्योंकि बाहरी उदाहरणों से जुड़े आंतरिक वर्गों में शून्य-तर्क कन्स्ट्रक्टर नहीं होते हैं (ऐसे आंतरिक वर्गों के निर्माता निहित आवृत्ति को प्रीपेड पैरामीटर के रूप में स्वीकार करते हैं), वे बाहरीकरण को लागू नहीं कर सकते हैं। हालांकि, ऊपर सूचीबद्ध मुद्दों में से कोई भी स्थिर सदस्य वर्गों पर लागू नहीं होता है।
और ओरेकल और आईबीएम जेडीके 1.7 संस्करणों के बीच ऑर्डर क्रमबद्ध करने के अनुभव से, मैं आपको बता सकता हूं कि यह हमेशा काम नहीं करता है। मैं यह सुनिश्चित नहीं कर सकता कि यह हमेशा विफल रहता है, लेकिन आप निश्चित रूप से काम करने पर भरोसा नहीं कर सकते हैं।
कोड ऐप जो मेरे ऐप में विफल नहीं हो रहा है, उत्पादन में 5 साल के लिए जेडीके 1.5 पर ठीक काम करता है और मुझे वर्तमान कथन के समान क्रमिकरण पर पिछले दस्तावेज में कुछ भी नहीं दिखाई देता है। इसलिए, यह जावा देवताओं है JDK में इस कोड पैटर्न नोट करने के लिए 7.
यह प्रश्न के लिए प्रासंगिक नहीं है, जो ** स्थिर ** आंतरिक कक्षाओं को निर्दिष्ट करता है। – gerardw
@Tinkerbel कुछ अनुमति दी है लगता है -
स्थिर नेस्टेड कक्षाएं Serializing ठीक है, लेकिन जब (भविष्य में) अगर स्थिर इनर क्लासों कभी कर रहे हैं पुरानी वस्तुओं को क्रमबद्ध करने के बाद एक अलग बाहरी वर्ग में स्थानांतरित हो गया है।
सभी फ़ील्ड डिफ़ॉल्ट/शून्य होने के लिए असाइन किए गए हैं।
अगर कोई समझा सकता है तो यह सहायक होगा क्यों?मैंने देखा है कि मेरे पास एक बहुत ही ठोस कारण नहीं है ... ऐसा लगता है कि जब भी कोई पैकेज बदल जाता है तो ऐसा होना चाहिए – user2674407
- 1. जावा: अज्ञात आंतरिक वर्ग
- 2. जावा में आंतरिक स्थिर वर्ग
- 3. जावा: स्टेटिक बनाम आंतरिक वर्ग
- 4. आंतरिक वर्ग
- 5. स्थैतिक वर्ग बनाम सिंगलटन वर्ग
- 6. निजी आंतरिक वर्ग अप्रत्याशित अनाम वर्ग
- 7. सक्रियकर्ता और स्थैतिक वर्ग
- 8. विस्तारित PHP स्थैतिक वर्ग
- 9. किसी अन्य स्थैतिक वर्ग
- 10. स्थैतिक वर्ग आवंटन
- 11. ब्रॉडकास्ट रिसीवर आंतरिक वर्ग
- 12. एक आंतरिक वर्ग
- 13. स्थानीय आंतरिक वर्ग
- 14. एन्नोटेट गुमनाम आंतरिक वर्ग
- 15. स्थैतिक वर्ग में प्रेषण - AS3
- 16. कक्षा में आंतरिक वर्ग का उपयोग करने वाले वर्ग?
- 17. जावा घोंसला वाले आंतरिक वर्ग का उपयोग बाहरी वर्ग चर
- 18. सी # स्थैतिक वर्ग और ऑपरेटर
- 19. जावा आंतरिक वर्ग और विरासत
- 20. आंतरिक वर्ग और स्थानीय चर
- 21. क्यों एक गैर स्थैतिक आंतरिक वर्ग में स्थिर सदस्य (फ़ील्ड और विधियां) नहीं हो सकती हैं?
- 22. एक स्थैतिक वर्ग में एक स्थिर स्थैतिक वर्ग और स्थैतिक तरीकों में स्थिर तरीकों के बीच क्या अंतर है?
- 23. AsyncTask को लागू करने का सही तरीका क्या है? स्थैतिक या गैर स्थैतिक घोंसला वर्ग?
- 24. एंड्रॉइड में एडाप्टर स्थिर आंतरिक कक्षाएं या गैर स्थैतिक आंतरिक कक्षाएं
- 25. वैश्विक बनाम फ़ंक्शन बनाम स्थैतिक वर्ग विधि
- 26. सी # (गैर स्थैतिक) वर्ग पथ का प्रतिनिधित्व करने के लिए
- 27. जावा स्थैतिक विधि घोषणा में वर्तमान वर्ग का उपयोग
- 28. कचरा कलेक्टर और स्थैतिक वर्ग, परिवर्तनीय
- 29. सिंगलटन वर्ग और स्थैतिक वर्ग के बीच अंतर?
- 30. SharePoint TimerJob: किसी वर्ग/स्थैतिक विधि
ठीक है, क्या होता है जब आप ... कोशिश करें? –
जब मैं ऐसा करता हूं तो मेरा आवेदन ठीक काम कर रहा है। लेकिन, ऐसा होने के लिए मैं आंतरिक और बाहरी दोनों वर्गों को क्रमबद्ध कर रहा हूं, जो मेरे लिए आवश्यक नहीं है, लेकिन अगर मुझे आंतरिक वर्ग धारावाहिक है तो मुझे अवधारणा पता है तो बाहरी को धारावाहिक होना चाहिए। और, मुझे स्थिर वर्गों में कुछ संदेह भी क्रमबद्ध किया जा सकता है या नहीं। – Tinkerbel
बाहरी वर्ग के पास _static_ आंतरिक वर्ग के क्रमिकरण के साथ कुछ लेना देना नहीं है। –