सबसे नवीन में से एक पैकेज की अवधारणा है।जावा में पैकेज कक्षाओं, इंटरफेस, एनुमरेशंस, एनोटेशन और उप-पैकेजों के एक समूह को एनकैप्सुलेट करने का एक तरीका है। वैचारिक रूप से, आप जावा संकुल को अपने कंप्यूटर पर विभिन्न फ़ोल्डरों के समान होने के बारे में सोच सकते हैं। इस ट्यूटोरियल में, हम पैकेज के बेसिक्स को कवर करेंगे
नीचे सूचीबद्ध विषय इस लेख में शामिल हैं:
- जावा में पैकेज क्या है?
- बिल्ट-इन पैकेज
- उपयोगकर्ता परिभाषित पैकेज
- जावा में स्थैतिक आयात
- जावा पैकेज में एक्सेस प्रोटेक्शन
- याद दिलाने के संकेत
जावा में पैकेज क्या है?
जावा पैकेज समान प्रकार की कक्षाओं, इंटरफेस, और उप-कक्षाओं को सामूहिक रूप से कार्यक्षमता पर आधारित करने का एक तंत्र है। जब सॉफ्टवेयर में लिखा जाता है , यह सैकड़ों या हजारों व्यक्तिगत वर्गों से बना हो सकता है। मैंटी संबंधित वर्गों और इंटरफेस को पैकेज में रखकर चीजों को व्यवस्थित रखने के लिए समझ में आता है।
कोडिंग के दौरान पैकेज का उपयोग करने से कई फायदे मिलते हैं:
कैसे सरणी php मुद्रित करने के लिए
- पुन: प्रयोज्य: दूसरे प्रोग्राम के पैकेज में निहित कक्षाएं आसानी से पुन: उपयोग की जा सकती हैं
- नाम संघर्ष: संकुलहमें विशिष्ट रूप से एक वर्ग की पहचान करने में मदद करें, उदाहरण के लिए, हमारे पास हो सकता है company.sales.Employee तथा company.marketing.Employee कक्षाएं
- नियंत्रित अभिगम: प्रदान करता है पहुंच सुरक्षा जैसे कि पीघुमाया गया कक्षाएं, डिफ़ॉल्ट कक्षाएं और निजी वर्ग
- डेटा एनकैप्सुलेशन : उन्होंने पीवर्गों को छिपाने का एक तरीका है, अन्य कार्यक्रमों को उन वर्गों तक पहुंचने से रोकना जो केवल आंतरिक उपयोग के लिए हैं
- रखरखाव: पैकेज के साथ,आप अपनी परियोजना को बेहतर ढंग से व्यवस्थित कर सकते हैं और संबंधित कक्षाओं का आसानी से पता लगा सकते हैं
जावा में कोडिंग करते समय पैकेज का उपयोग करना एक अच्छा अभ्यास है। एक प्रोग्रामर के रूप में, आप कर सकते हैंआसानी से पता लगाना , इंटरफेस, गणना, और एनोटेशन जो संबंधित हैं। हमारे पास जावा में दो प्रकार के पैकेज हैं।
जावा में पैकेज के प्रकार
पैकेज उपयोगकर्ता द्वारा परिभाषित किया गया है या नहीं, इसके आधार पर, पैकेज दो श्रेणियों में विभाजित हैं:
- बिल्ट-इन पैकेज
- उपयोगकर्ता परिभाषित पैकेज
बिल्ट-इन पैकेज
बिल्ट-इन पैकेज या पूर्वनिर्धारित पैकेज वे हैं जो कि एक हिस्से के रूप में साथ आते हैं (जावा डेवलपमेंट किट) जावा प्रोग्रामर के कार्य को सरल बनाने के लिए। इनमें बहुत बड़ी संख्या में पूर्वनिर्धारित कक्षाएं और इंटरफेस हैं जो जावा एपीआई का एक हिस्सा हैं। सामान्य रूप से निर्मित कुछ पैकेज java.lang, java.io, java.util, java.applet, आदि हैं। यहां बिल्ट-इन पैकेज का उपयोग करते हुए एक सरल प्रोग्राम है।
पैकेज Edureka import java.util.ArrayList वर्ग बिल्टइनपैकेज {सार्वजनिक स्टेटिक शून्य मेन (स्ट्रिंग [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) सिस्टम। out.println ('सूची के तत्व हैं:' + myList)}}
आउटपुट:
सूची के तत्व हैं: [३, २, १]
ArrayList वर्ग java.util पैकेज के अंतर्गत आता है। इसका उपयोग करने के लिए, हमें आयात विवरण का उपयोग करके पैकेज को आयात करना होगा। कोड की पहली पंक्ति आयात java.util.ArrayList java.util पैकेज आयात करता है और उपयोग करता है जो उप पैकेज उपयोग में मौजूद है।
उपयोगकर्ता परिभाषित पैकेज
उपयोगकर्ता-परिभाषित पैकेज वे होते हैं जो समूह से संबंधित वर्गों, इंटरफेस और उप पैकेजों के क्रम में उपयोगकर्ताओं द्वारा विकसित किए जाते हैं। एक उदाहरण कार्यक्रम की मदद से, आइए देखें कि पैकेज कैसे बनाएं, संकुल के अंदर जावा कार्यक्रमों को संकलित करें और उन्हें निष्पादित करें।
जावा में पैकेज बनाना
जावा में पैकेज बनाना बहुत आसान काम है। पैकेज के लिए एक नाम चुनें और एक को शामिल करें पैकेज जावा सोर्स फाइल में पहले स्टेटमेंट के रूप में कमांड करें। जावा स्रोत फ़ाइल में वह वर्ग, इंटरफ़ेस, गणना, और एनोटेशन प्रकार हो सकते हैं जिन्हें आप पैकेज में शामिल करना चाहते हैं।उदाहरण के लिए, निम्न कथन नाम का एक पैकेज बनाता है मेरा पैकेज।
पैकेज MyPackage
पैकेज स्टेटमेंट केवल निर्दिष्ट करता है कि कौन सा पैकेज परिभाषित वर्गों से संबंधित है ..
ध्यान दें: यदि आप पैकेज स्टेटमेंट को छोड़ देते हैं, तो क्लास के नाम डिफ़ॉल्ट पैकेज में डाल दिए जाते हैं, जिसका कोई नाम नहीं है। हालांकि छोटे कार्यक्रमों के लिए डिफ़ॉल्ट पैकेज ठीक है, यह वास्तविक अनुप्रयोगों के लिए अपर्याप्त है।
जावा पैकेज में एक क्लास शामिल है
सेवाएक पैकेज के अंदर एक वर्ग बनाएं, आपको चाहिएअपने कार्यक्रम के पहले बयान के रूप में पैकेज का नाम घोषित करें। फिर पैकेज के हिस्से के रूप में कक्षा को शामिल करें। लेकिन, याद रखें कि, एक कक्षा में केवल एक पैकेज की घोषणा हो सकती है। यहां अवधारणा को समझने का एक सरल कार्यक्रम है।
पैकेज MyPackage सार्वजनिक वर्ग की तुलना {int num1, num2 तुलना (int n, int m) {num1 = n num2 = m} सार्वजनिक शून्य getmax () {अगर (num1> num2) {System.out.print_n (दो का अधिकतम मूल्य) संख्याएँ '+ num1)} और {System.out.println (' दो संख्याओं का अधिकतम मान '+ num2) है}} सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {तुलना करें वर्तमान [] = new तुलना [3] [१] = नई तुलना (५, १०) वर्तमान [२] = नई तुलना (१२३, १२०)<3 i++) { current[i].getmax() } } }
आउटपुट:
दो संख्याओं का अधिकतम मूल्य 10 है दो संख्याओं का अधिकतम मूल्य 123 है
जैसा कि आप देख सकते हैं, मैंने एक पैकेज घोषित किया है जिसका नाम MyPackage है और उस पैकेज के अंदर एक वर्ग की तुलना करें। जावा संकुल को स्टोर करने के लिए फाइल सिस्टम निर्देशिका का उपयोग करता है। तो, इस कार्यक्रम के रूप में एक फ़ाइल में सहेजा जाएगा तुलना करें। जावा और MyPackage नाम की निर्देशिका में संग्रहीत किया जाएगा। जब फ़ाइल संकलित हो जाती है, तो जावा एक बना देगा ।कक्षा फ़ाइल और उसी निर्देशिका में संग्रहीत करें। याद रखें कि पैकेज का नाम उसी निर्देशिका के समान होना चाहिए जिसके तहत यह फ़ाइल सहेजी गई है।
आप सोच रहे होंगे कि एक वर्ग से दूसरे पैकेज में इस तुलना वर्ग का उपयोग कैसे करें?
दूसरे पैकेज को आयात करते समय पैकेज के अंदर एक वर्ग बनाना
खैर, यह बहुत आसान है। आपको बस इसे आयात करने की आवश्यकता है। एक बार जब यह आयात हो जाता है, तो आप इसे इसके नाम से एक्सेस कर सकते हैं। यहाँ एक नमूना कार्यक्रम है जो अवधारणा को प्रदर्शित करता है।
पैकेज Edureka import MyPackage.Compare सार्वजनिक वर्ग डेमो {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {int n = 10, m = 10 वर्तमान तुलना करें = नई तुलना करें (n, m) यदि (n! m) / वर्तमान .getmax! ()} और {System.out.println ('दोनों मान समान हैं')}}
आउटपुट:
दोनों मूल्य समान हैं
मैंने सबसे पहले पैकेज घोषित किया है Edureka , फिर कक्षा का आयात किया तुलना कीजिए पैकेज MyPackage से। तो, आदेशजब हम दूसरे पैकेज का आयात करते समय एक पैकेज के अंदर एक वर्ग बना रहे हैं,
- पैकेज घोषणा
- पैकेज आयात
ठीक है, यदि आप आयात विवरण का उपयोग नहीं करना चाहते हैं, तो पैकेज के क्लास फ़ाइल को दूसरे पैकेज से एक्सेस करने का एक और विकल्प है। आयात करते समय आप पूरी तरह से योग्य नाम का उपयोग कर सकते हैं ।
वर्ग आयात करते समय पूरी तरह से योग्य नाम का उपयोग करना
इस अवधारणा को समझने के लिए एक उदाहरण है। मैं उसी पैकेज का उपयोग करने जा रहा हूं जो मैंने पहले ब्लॉग में घोषित किया है, मेरा पैकेज ।
पैकेज एडुर्का पब्लिक क्लास डेमो {सार्वजनिक स्टेटिक शून्य मेन (स्ट्रिंग आर्ग्स []) {int n = 10, m = 11 // आयात के बजाय पूरी तरह से योग्य नाम का उपयोग करना। MyPackage.Compare current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} और {{System.out.println ('दोनों मान समान हैं')}}}
आउटपुट:
दो संख्याओं का अधिकतम मूल्य 11 है
डेमो क्लास में, पैकेज को आयात करने के बजाय, मैंने पूरी तरह से योग्य नाम का उपयोग किया है जैसे MyPackage.Compare इसका उद्देश्य बनाने के लिए। चूंकि हम पैकेजों के आयात के बारे में बात कर रहे हैं, आप जावा में स्थिर आयात की अवधारणा को भी देख सकते हैं।
जावा में स्थैतिक आयात
में स्थैतिक आयात सुविधा शुरू की गई थी संस्करण 5 से। यह जावा प्रोग्रामर को किसी भी स्थिर तक पहुंचने की सुविधा प्रदान करता हैपूरी तरह से योग्य नाम का उपयोग किए बिना सीधे एक वर्ग का सदस्य।
पैकेज MyPackage इम्पोर्ट स्टैटिक java.lang.Math। * // स्टेटिक इम्पोर्ट स्टैटिक java.lang.System। * // static import पब्लिक क्लास StaticImportDemo {पब्लिक स्टैटिक void main (स्ट्रिंग args []] {डबल वैल = 64.0 डबल स्क्वेरोट = sqrt (वैल) // Access sqrt () विधि सीधे आउट.प्रिंटलेन ('+ वल +' का Sq रूट '+ sqroot) है // हमें' System.out} का उपयोग करने की आवश्यकता नहीं है।
आउटपुट:
Sq। 64.0 की जड़ 8.0 है
हालांकि स्थैतिक आयात का उपयोग करना कम कोडिंग को शामिल करता है, अति प्रयोग से यह कार्यक्रम अपठनीय और अप्राप्य हो सकता है। अब अगले विषय पर चलते हैं, संकुल में अभिगम नियंत्रण।
जावा पैकेज में एक्सेस प्रोटेक्शन
आप जावा के अभिगम नियंत्रण तंत्र और इसके विभिन्न पहलुओं से अवगत हो सकते हैं पहुंच निर्दिष्टकर्ता । जावा में संकुल नियंत्रण तक एक और आयाम जोड़ते हैं। दोनों वर्गों और पैकेजों का एक साधन है डेटा इनकैप्सुलेशन । जबकि पैकेज कक्षाओं और अन्य अधीनस्थ पैकेजों के लिए कंटेनरों के रूप में कार्य करते हैं, कक्षाएं डेटा और कोड के लिए कंटेनरों के रूप में कार्य करती हैं। संकुल और कक्षाओं के बीच इस परस्पर क्रिया के कारण, जावा संकुल कक्षा के सदस्यों के लिए दृश्यता की चार श्रेणियों को संबोधित करता है:
- एक ही पैकेज में उप-कक्षाएं
- एक ही पैकेज में गैर-उपवर्ग
- अलग-अलग पैकेज में उप-कक्षाएं
- कक्षाएं जो न तो एक ही पैकेज में हैं और न ही उप-कक्षाएं
नीचे दी गई तालिका एजावा में पैकेज का उपयोग करते समय किस प्रकार की पहुंच संभव है और कौन सी नहीं है, इसकी वास्तविक तस्वीर:
निजी | कोई संशोधक नहीं | संरक्षित | सह लोक | |
एक ही कक्षा | हाँ | हाँ | हाँ | हाँ |
एक ही पैकेज उपवर्ग | नहीं न | हाँ | हाँ | हाँ |
समान पैकेज गैर-उपवर्ग | नहीं न | हाँ | हाँ | हाँ |
विभिन्न संकुल उपवर्ग | नहीं न | नहीं न | हाँ | हाँ |
विभिन्न पैकेज गैर- उपवर्ग | नहीं न | नहीं न | नहीं न | हाँ |
हम उपरोक्त तालिका में डेटा को सरल बना सकते हैं:
- घोषित कुछ भी सार्वजनिक कहीं से भी पहुँचा जा सकता है
- निजी घोषित कुछ भी केवल उस वर्ग के भीतर देखा जा सकता है
- यदि एक्सेस स्पेसियर का उल्लेख नहीं किया गया है, तो एक तत्व उपवर्गों के साथ-साथ अन्य कक्षाओं के लिए एक ही पैकेज में दिखाई देता है
- अंत में, कुछ भी घोषित संरक्षित तत्व आपके वर्तमान पैकेज के बाहर देखा जा सकता है, लेकिन केवल उन कक्षाओं के लिए जो आपकी कक्षा को सीधे उपवर्गित करते हैं
इस तरह, जावा पैकेज कक्षाओं तक पहुंच नियंत्रण प्रदान करते हैं। खैर, यह जावा में संकुल की अवधारणा को लपेटता है। यहां कुछ बिंदु दिए गए हैं जो आपको पैकेजों का उपयोग करते समय ध्यान में रखना चाहिए ।
याद दिलाने के संकेत
- हर वर्ग किसी न किसी पैकेज का हिस्सा है। यदि आप पैकेज स्टेटमेंट को छोड़ देते हैं, तो क्लास के नाम डिफॉल्ट पैकेज में डाल दिए जाते हैं
- एक क्लास में केवल एक पैकेज स्टेटमेंट हो सकता है, लेकिन इसमें एक से अधिक इंपोर्ट पैकेज स्टेटमेंट हो सकते हैं
- पैकेज का नाम उस निर्देशिका के समान होना चाहिए जिसके तहत फ़ाइल सहेजी गई है
- किसी अन्य पैकेज को आयात करते समय, पैकेज की घोषणा पहले स्टेटमेंट होनी चाहिए, उसके बाद पैकेज आयात
खैर, यह हमें जावा के लेख में इस to संकुल के अंत में लाता है। हमने सीखापैकेज क्या है और हमें उनका उपयोग क्यों करना चाहिए। इसमें कोई संदेह नहीं है कि जावा पैकेज कुशल जावा प्रोग्रामर के लिए सबसे महत्वपूर्ण भागों में से एक है। यह न केवल प्रोग्रामर की कोडिंग शैली को अपग्रेड करता है, बल्कि अतिरिक्त कार्य को भी कम करता है।
यदि आपको यह लेख 'जावा में संकुल' पर मिला है, तो देखें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। हम आपकी यात्रा के हर कदम पर आपकी मदद करने के लिए यहां हैं, इस साक्षात्कार साक्षात्कार के अलावा बनने के लिए, हम एक पाठ्यक्रम के साथ आते हैं, जो छात्रों और पेशेवरों के लिए बनाया गया है, जो जावा डेवलपर बनना चाहते हैं।