मैं देखता हूं कि आप 2 के साथ क्या कर रहे हैं। आप संकुल के रूप में कक्षाओं को मॉड्यूल के रूप में उपयोग कर रहे हैं ताकि आप पैकेज के भीतर खुद को अलग कर सकें लेकिन फिर भी कक्षाओं के साथ पैकेज के भीतर व्यवस्थित करें।
वह बहुत चालाक है। चतुर से सावधान रहें।
यह आपको एक ही स्रोत फ़ाइल (जिसे आप पसंद कर सकते हैं) में कई वर्गों को जाम करने के लिए मजबूर करेगा और पथ में एक अतिरिक्त पूंजीकृत शब्द होगा।
यह आपको पैकेज के भीतर किसी भी परीक्षा कोड को लिखने के लिए भी मजबूर करेगा जब तक कि आप बाहर से अपना रास्ता हैक करने के लिए प्रतिबिंब का उपयोग नहीं करते हैं।
अन्य तो यह, यह काम करेगा। यह सिर्फ अजीब लगेगा।
हैशटेबल में एंट्रीसेट की तरह इस्तेमाल किए जाने वाले आंतरिक वर्गों के लिए लोग अधिक उपयोग किए जाते हैं । यह निजी है इसलिए मैं इसे नहीं बना सकता, लेकिन यह एक सार्वजनिक इंटरफ़ेस को लागू करता है इसलिए मैं बस इंटरफ़ेस के माध्यम से इसके बारे में बात करता हूं और मेरे लिए कुछ हड़प सकता हूं।
लेकिन आप उन कक्षाओं का वर्णन कर रहे हैं जो आप नहीं चाहते हैं कि मैं एक इंटरफेस के माध्यम से भी बात करूं। तो मेरे लिए कोई इंटरफ़ेस नहीं। इसका मतलब है कि मेरे पास देखने के लिए और भ्रमित होने के लिए कुछ भी नहीं है (जब तक कि आप मुझे स्रोत प्रदान नहीं करते)।
सबसे बड़ा मुद्दा मुझे पूर्वाभास है कि यह एपीआई को बनाए रखने के लिए नया भ्रामक है। आप उन पर प्रलेखन और टिप्पणियां फेंक सकते हैं, लेकिन जब वे नहीं पढ़ते हैं या किसी एक पर भरोसा नहीं करते हैं, तो उन्हें अतिरंजित न करें।
आपने अभी तक एक और पैटर्न बनाया है जो भाषा में कमी के लिए बनाता है। जावा के पास कोई पहुँच संशोधक नहीं है जो संकुल के समूह तक पहुँच प्रदान करता है। मैंने सुना है कि एक "मॉड्यूल" एक्सेस संशोधक प्रस्तावित किया गया था, लेकिन ऐसा होने का कोई संकेत नहीं देखा।
डिफ़ॉल्ट एक्सेस संशोधक (कोई संशोधक) संभवत: आप यहां उपयोग करेंगे जब तक कि आप मुझे विरासत के माध्यम से चुपके नहीं करते हैं, जिसमें मामला संरक्षित है।
Modifier Class Package Subclass World
public Y Y Y Y
protected Y Y Y N
no modifier Y Y N N
private Y N N N
क्या आप वास्तव में चाहते हैं मॉड्यूल का उपयोग है। इस तरह आप एक पैकेज में अपने परीक्षण और दूसरे में कोड रख सकते हैं। अफसोस की बात है कि हमारे पास यह जावा में नहीं है।
ज्यादातर लोग सिर्फ 1 करते हैं और एपीआई का विस्तार करते हैं। इंटरफेस के उचित उपयोग से दबाव बंद हो जाता है।
हैकिंग जो आप 1 में चाहते हैं वह और भी बदसूरत है। कॉल स्टैक पर तिरछी नज़र डालें और जब भी आपको बुलाया गया पैकेज से कोई अपवाद न हो, जो आपको पसंद न हो। Eeew।