जावा में पैकेज क्या है?
जावा में पैकेज कक्षाओं, उप-संकुल और इंटरफेस का एक संग्रह है। यह आपकी कक्षाओं को एक फ़ोल्डर संरचना में व्यवस्थित करने में मदद करता है और उन्हें ढूंढना और उनका उपयोग करना आसान बनाता है। इससे भी महत्वपूर्ण बात, यह कोड पुन: प्रयोज्य में सुधार करने में मदद करता है।
जावा के प्रत्येक पैकेज का अपना विशिष्ट नाम है और अपनी कक्षाओं और इंटरफेस को एक अलग नामस्थान या नाम समूह में व्यवस्थित करता है।
हालाँकि एक ही नाम के इंटरफेस और क्लास एक ही पैकेज में नहीं दिख सकते हैं, वे अलग-अलग पैकेज में दिखाई दे सकते हैं। यह प्रत्येक जावा पैकेज के लिए एक अलग नामस्थान निर्दिष्ट करके संभव है।
वाक्य - विन्यास:-
package nameOfPackage;
निम्नलिखित वीडियो आपको एक पैकेज बनाने के चरणों के माध्यम से ले जाता है।
यदि वीडियो उपलब्ध नहीं है तो यहां क्लिक करें
एक उदाहरण के साथ पैकेज का अध्ययन करते हैं। हम एक वर्ग और ऑब्जेक्ट को परिभाषित करते हैं और बाद में इसे हमारे पैकेज p1 में संकलित करते हैं। संकलन के बाद, हम कोड को जावा पैकेज के रूप में निष्पादित करते हैं।
पैकेज कैसे बनाएं?
पैकेज बनाना निम्नानुसार एक सरल कार्य है
- पैकेज का नाम चुनें
- अपने जावा स्रोत फ़ाइल में कोड की पहली पंक्ति के रूप में पैकेज कमांड शामिल करें।
- स्रोत फ़ाइल में वे वर्ग, इंटरफ़ेस, आदि होते हैं जिन्हें आप पैकेज में शामिल करना चाहते हैं
- जावा पैकेज बनाने के लिए संकलन करें
चरण 1) जावा में निम्नलिखित पैकेज कार्यक्रम पर विचार करें:
package p1;class c1(){public void m1(){System.out.println("m1 of c1");}public static void main(string args[]){c1 obj = new c1();obj.m1();}}
यहाँ,
- एक पैकेज में एक क्लास लगाने के लिए, कोड की पहली पंक्ति में पैकेज p1 परिभाषित करें
- एक वर्ग बनाएँ c1
- एक विधि m1 को परिभाषित करना जो एक रेखा को प्रिंट करता है।
- मुख्य विधि को परिभाषित करना
- वर्ग c1 की वस्तु बनाना
- कॉलिंग विधि m1
चरण 2) अगले चरण में, इस फ़ाइल को डेमो के रूप में सहेजें। जावा
चरण 3) इस चरण में, हम फ़ाइल संकलित करते हैं।
संकलन पूरा हो गया है। एक क्लास फ़ाइल c1 बनाई जाती है। हालाँकि, कोई पैकेज नहीं बनाया गया है? अगला कदम समाधान है
चरण 4) अब हमें एक पैकेज बनाना होगा, कमांड का उपयोग करना होगा
javac -d . demo.java
यह कमांड कंपाइलर को एक पैकेज बनाने के लिए मजबूर करता है।
"।" ऑपरेटर वर्तमान कार्य निर्देशिका का प्रतिनिधित्व करता है।
चरण 5) जब आप कोड निष्पादित करते हैं, तो यह एक पैकेज p1 बनाता है। जब आप जावा पैकेज p1 खोलेंगे तो आपको c1.class फ़ाइल दिखाई देगी।
चरण 6) निम्नलिखित कोड का उपयोग करके उसी फ़ाइल को संकलित करें
javac -d… demo.java
यहां "..." मूल निर्देशिका को इंगित करता है। हमारे केस में फाइल पैरेंट डायरेक्टरी में सेव होगी जो कि C ड्राइव है
उपरोक्त कोड निष्पादित होने पर मूल निर्देशिका में फ़ाइल सहेजी गई।
चरण 7) अब मान लें कि आप हमारे मौजूदा जावा पैकेज p1 के भीतर एक उप पैकेज P2 बनाना चाहते हैं। फिर हम अपने कोड को संशोधित करेंगे
package p1.p2;class c1{public void m1() {System.out.println("m1 of c1");}}
चरण 8) फ़ाइल संकलित करें
जैसा कि नीचे स्क्रीनशॉट में देखा गया है, यह पैकेज के अंदर एक उप-पैकेज पी 2 क्लास सी 1 बनाता है।
चरण 9) कोड को निष्पादित करने के लिए वर्ग के पूरी तरह से योग्य नाम का उल्लेख करें अर्थात पैकेज का नाम उप-पैकेज नाम के बाद कक्षा का नाम -
java p1.p2.c1
इस तरह से पैकेज को निष्पादित किया जाता है और कोड फ़ाइल से आउटपुट को "c1 के m1" के रूप में देता है।
पैकेज कैसे आयात करें
अपने कोड में एक वर्ग (एक पैकेज में बंडल) की एक वस्तु बनाने के लिए, आपको इसके पूरी तरह से योग्य नाम का उपयोग करना होगा।
उदाहरण:
java.awt.event.actionListner object = new java.awt.event.actionListner();
लेकिन, आप जिस वर्ग का उपयोग करना चाहते हैं, उसके लिए लंबे डॉट-अलग पैकेज पथ नाम टाइप करना थकाऊ हो सकता है। इसके बजाय, यह अनुशंसा की जाती है कि आप आयात विवरण का उपयोग करें।
वाक्य - विन्यास
import packageName;
एक बार आयात होने के बाद, आप इसके पूरी तरह से योग्य नाम का उल्लेख किए बिना कक्षा का उपयोग कर सकते हैं।
import java.awt.event.*; // * signifies all classes in this package are importedimport javax.swing.JFrame // here only the JFrame class is imported//UsageJFrame f = new JFrame; // without fully qualified name.
उदाहरण : पैकेज आयात करने के लिए
चरण 1) कोड को एक संपादक में कॉपी करें।
package p3;import p1.*; //imports classes only in package p1 and NOT in the sub-package p2class c3{public void m3(){System.out.println("Method m3 of Class c3");}public static void main(String args[]){c1 obj1 = new c1();obj1.m1();}}
चरण 2) फ़ाइल को Demo2.java के रूप में सहेजें। कमांड javac -d का उपयोग करके फ़ाइल संकलित करें । डेमो २.जावा
चरण 3) कमांड को जावा जावा p3.c3 का उपयोग करके निष्पादित करें
पैकेज - नोट करने के लिए अंक:
- नामकरण संघर्ष से बचने के लिए पैकेजों को रिवर्स एक्स: कॉम.गुरु99 में कंपनी के डोमेन नाम के नाम दिए गए हैं। com.microsoft, com.infosys आदि।
- जब एक पैकेज का नाम निर्दिष्ट नहीं किया जाता है, तो एक वर्ग डिफ़ॉल्ट पैकेज (वर्तमान कार्यशील निर्देशिका) में होता है और पैकेज को कोई नाम नहीं दिया जाता है। इसलिए आप पहले असाइनमेंट निष्पादित करने में सक्षम थे।
- पैकेज बनाते समय इस बात का ध्यान रखा जाना चाहिए कि पैकेज बनाने के लिए स्टेटमेंट किसी अन्य इम्पोर्ट स्टेटमेंट से पहले लिखा जाना चाहिए
// not allowedimport package p1.*;package p3;//correct syntaxpackage p3;import package p1.*;
java.lang पैकेज डिफ़ॉल्ट रूप से किसी भी वर्ग के लिए आयात किया जाता है जिसे आप जावा में बनाते हैं।
जावा एपीआई बहुत व्यापक है, इसमें ऐसी कक्षाएं शामिल हैं जो डेटा संरचना हेरफेर से लेकर नेटवर्किंग तक लगभग आपके सभी प्रोग्रामिंग कार्यों का प्रदर्शन कर सकती हैं। अधिक बार नहीं, आप अपने कोड में API फ़ाइलों का उपयोग कर रहे होंगे। आप यहाँ एपीआई प्रलेखन देख सकते हैं।