A মডিউল ৷ প্যাকেজে সংগঠিত ক্লাস আকারে কোডের একটি সংগ্রহ এবং স্ট্যাটিক সম্পদ যেমন সম্পত্তি ফাইলগুলি ৷ বা অন্যদের এটি সেই মডিউলটি ব্যবহার করার জন্য প্রয়োজনীয় সমস্ত তথ্য সহ বাইরের পরিবেশ সরবরাহ করে। মডিউল বর্ণনাকারী মডিউলের একটি মূল উৎস সিস্টেম, এবং এটি "module-info.java নামের একটি ফাইলে নির্দিষ্ট করা একটি মডিউল ঘোষণার সংকলিত সংস্করণ " মডিউলের ডিরেক্টরি অনুক্রমের মূলে ফাইল৷
৷মডিউলটি নীচের মত একটি মডিউল ঘোষণার মাধ্যমে নিজেকে বর্ণনা করে
module com.myproject.module1 { requires com.myproject.module2; exports com.myproject.project1; exports com.myproject.project2; }
নীচে কিছু মডিউল বর্ণনাকারী বর্ণনা করা হল:
- মডিউল মডিউল। নামঃ module.name নামে একটি মডিউল ঘোষণা করে।
- মডিউল প্রয়োজন। নামঃ নির্দিষ্ট করে যে আমাদের মডিউল মডিউলের উপর নির্ভর করে। নাম, এই মডিউলটি লক্ষ্য মডিউলে রপ্তানি করা সর্বজনীন প্রকারগুলি অ্যাক্সেস করার অনুমতি দেয়৷ ৷
- একটি ট্রানজিটিভ মডিউল প্রয়োজন৷ নামঃ এই মডিউলের উপর নির্ভরশীল যেকোনো মডিউল স্বয়ংক্রিয়ভাবে module.name-এর উপর নির্ভর করে।
- রপ্তানি করে pkg.name: এটি বলে যে আমাদের মডিউল সর্বজনীন সদস্যদের প্যাকেজ pkg.name-এ রপ্তানি করে প্রতিটি মডিউলের জন্য এটির প্রয়োজন।
- pkg.name module.name এ রপ্তানি করে: এটি উপরের মতই, কিন্তু pkg.name প্যাকেজ থেকে পাবলিক সদস্যরা কোন মডিউল ব্যবহার করতে পারে তা সীমাবদ্ধ করে।
- ক্লাস ব্যবহার করে। নাম: এটা বর্তমান মডিউলটিকে পরিষেবা class.name এর জন্য একটি ভোক্তা করে তোলে।
- class.name.impl এর সাথে class.name প্রদান করে: এটি class.name.impl ক্লাস একটি পরিষেবা নিবন্ধন করে যা class.name পরিষেবার বাস্তবায়ন প্রদান করে৷
- খোলে pkg.name: এটি অন্যান্য মডিউলগুলিকে pkg.name প্যাকেজের ব্যক্তিগত সদস্যদের অ্যাক্সেস করতে প্রতিফলন ব্যবহার করার অনুমতি দেয়৷
- pkg.name module.name এ খোলে: এটি একই কাজ করে, কিন্তু pkg.name-এ কোন মডিউলে ব্যক্তিগত সদস্যদের প্রতিফলন অ্যাক্সেস থাকতে পারে তা সীমাবদ্ধ করে।