चलो कहते हैं कि मैं एक Serializable इंटरफ़ेस के रूप में इस प्रकार हैक्या जावा सीरियलज़ेबल इंटरफ़ेस में उपयोग किए जाने पर स्वचालित रूप से सीरियलज़ेबल कक्षाएं बनाता है?
public interface SomeInterface extends Serializable {
public SomeClass getSomething(String someParameter);
}
SomeClass
स्वचालित रूप से Serializable हो जाएगा करते हैं? हमारे आश्चर्य करने के लिए, हमारे RMI आवेदन भी जब SomeClass
Serializable को लागू नहीं करता है ठीक चलाता है।
यह क्यों है?
केवल वर्ग जो Serializable (या उप-वर्ग) चिह्नित कर रहे हैं Serializable हैं। सबसे अधिक संभावना 'SomeClass' कुछ serializable या बाह्यकरण लागू या लागू करता है। –
या वापस लौटाया जा रहा है 'SomeClass', या शून्य के एक serializable व्युत्पन्न वर्ग है। – EJP
इंटरफेस लागू किए गए हैं, कक्षाएं विस्तारित हैं। सीरियलज़ेबल एक वर्ग है जो किसी उप-वर्ग को क्रमबद्ध करने के लिए प्रतिबिंब का उपयोग करता है। ध्यान दें कि यह आमतौर पर जटिल उप-वर्गों के लिए बहुत अक्षम है - यह सबकुछ क्रमबद्ध करता है। अधिक कुशल मार्शलिंग के लिए प्रोटोबफ या बाहरी उपयोग करें। –