ए requires
खंड व्यक्त करता है कि संकलित और रन टाइम पर आवश्यक मॉड्यूल की आवश्यकता है। नतीजतन, जब मॉड्यूल सिस्टम module resolution के दौरान इस तरह के एक खंड का सामना करता है (जिस चरण में मॉड्यूल डिस्क्रिप्टर संसाधित होते हैं और निर्भरता हल हो जाती है) यह देखने योग्य मॉड्यूल के ब्रह्मांड (जेडीके में मॉड्यूल और मॉड्यूल पथ पर) की खोज करता है और अगर कोई त्रुटि फेंकता है यह मॉड्यूल नहीं मिला है।
ए requires static
खंड a dependency that is optional at run time व्यक्त करता है। इसका मतलब है संकलन समय पर मॉड्यूल सिस्टम बिल्कुल वर्णित जैसा व्यवहार करता है।
दूसरी ओर, रन समय पर, यह अधिकतर requires static
खंडों को अनदेखा करता है। यदि यह एक से मुकाबला करता है, तो यह इसे हल नहीं करता है। इसका मतलब है, अगर एक अवलोकन मॉड्यूल केवल requires static
के साथ संदर्भित है, तो यह इसे मॉड्यूल ग्राफ में नहीं बनाता है! यह पहली बार थोड़ा आश्चर्यजनक हो सकता है। यदि, दूसरी तरफ, मॉड्यूल इसे किसी अन्य तरीके से ग्राफ़ में बनाता है (added manually with --add-modules
द्वारा आवश्यक, service binding द्वारा खींचा गया), सभी मॉड्यूल जिन पर वैकल्पिक निर्भरता है, वे read कर सकते हैं।
संभावित डुप्लिकेट [क्या जावा 9 मॉड्यूल सिस्टम वैकल्पिक निर्भरता का समर्थन करता है?] (Https://stackoverflow.com/questions/39900460/does-the-java-9- मॉड्यूल- सिस्टम-support-optional- निर्भरता) – ZhekaKozlov
@ZhekaKozlov हालांकि मैं डुप्लिकेट वोट का समर्थन करता हूं। लेकिन यह सुनिश्चित नहीं है कि लिंक किए गए पोस्ट में दोनों के बीच * अंतर * है। वैसे भी, मुझे यह भी विश्वास है कि इस प्रश्न के पीछे प्राथमिक उद्देश्य 'स्थिर' निर्देशक पर 'स्थिर' संशोधक के बारे में जानना हो सकता है। – nullpointer
मैं इसे डुप्लिकेट नहीं मानता। जबकि दोनों प्रश्न एक ही विषय से निपटते हैं, उनके पास बहुत अलग कोण हैं। यहां यह प्रश्न सिंटैक्स की खोज करने वाले लोगों द्वारा पाया जाएगा, दूसरा व्यक्ति निर्भरता वैकल्पिक बनाने की आवश्यकता वाले लोगों द्वारा किया जाएगा। – Nicolai