एक मॉड्यूल कोड . दोनों का संयोजन है और डेटा जिसका एक नाम है, अन्य मॉड्यूल पर निर्भरता की घोषणा करता है, उन पैकेजों का निर्यात करता है जिनमें सार्वजनिक प्रकार होते हैं जो इस मॉड्यूल के बाहर पहुंच योग्य हो सकते हैं और इसके द्वारा उपयोग की जाने वाली सेवाओं या सेवा कार्यान्वयन को निर्दिष्ट करते हैं। इन सभी ने मॉड्यूल-info.java . में निर्दिष्ट किया है फ़ाइल, जो एक मॉड्यूल की मूल निर्देशिका में शामिल है।
"निर्यात . दो प्रकार के होते हैं " खंड का उपयोग "मॉड्यूल-info.java . में किया जा सकता है "फ़ाइल।
1) निर्यात <पैकेज>: डिफ़ॉल्ट रूप से, सार्वजनिक . प्रकार मॉड्यूल का अब मॉड्यूल के बाहर दिखाई नहीं दे रहा है। किसी दिए गए पैकेज के सार्वजनिक प्रकारों को अन्य मॉड्यूल से दृश्यमान बनाने के लिए, हमें निर्यात . करना होगा यह पैकेज। हमें यह ध्यान रखना चाहिए कि हम पैकेज स्तर पर हैं न कि किसी प्रकार के इकाई स्तर पर। लेकिन, उप-पैकेज निर्यात नहीं किए जाते हैं।
हमें अन्य मॉड्यूल को पैकेज की कक्षाओं और इंटरफेस का उपयोग करने की अनुमति देने की आवश्यकता है tp.com.tutorialspoint.model , हम नीचे के रूप में लिख सकते हैं:
module com.tutorialspoint.model { exports tp.com.tutorialspoint.model; }
यह समझना बहुत महत्वपूर्ण है कि एक पैकेज केवल एक मॉड्यूल में मौजूद हो सकता है। अन्यथा, हमें नीचे की तरह एक त्रुटि मिलेगी:
Error:(1, 1) java: package exists in another module:
2) <पैकेज> को <मॉड्यूल> में निर्यात करें: मॉड्यूल की एक सीमित सूची में कुछ पैकेजों की दृश्यता को कम करके हम अपने मॉड्यूल की सुरक्षा को मजबूत कर सकते हैं:केवल सूचीबद्ध मॉड्यूल ही इन कक्षाओं तक पहुंचने में सक्षम होंगे।
module com.tutorialspoint.model { exports tp.com.tutorialspoint.model to com.tutorialspoint.gui; }