Java में import
क्लास Bell को फ़ोल्डर kit में package kit; और ring() मेथड के साथ रखें जो ding प्रिंट करे। उसके पास Porch.java में, फ़ाइल के ऊपर के पास लिखें import kit.Bell;, फिर main से छोटे नाम से बुलाएँ Bell.ring();। पैरेंट फ़ोल्डर से कंपाइल करें और java Porch चलाएँ। स्क्रीन एक लाइन दिखाए: ding। import लाइन कॉल से kit. हटाने देती है। import के बाद वही छोटा नाम — यही इस पेज का पाठ है।
वह लाइन जो छोटा नाम खोलती है
packages पेज पर आप हर बार kit.Bell.ring(); टाइप करते थे। वह पूरा नाम अभी भी काम करता है। एक import लाइन Java को बताती है कि छोटे शब्द Bell से आप कौन-सी पैकेज क्लास चाहते हैं। import kit.Bell; के बाद कॉल Bell.ring(); हो सकती है। Bell फ़ाइल खुद अपनी package kit; लाइन नहीं बदलती।
पहले वाला kit/Bell.java रखें, या फिर बनाएँ। पहली लाइन package kit;। Public क्लास Bell। मेथड:
public static void ring() { System.out.println("ding"); }
Bell.java में main नहीं है। कंपाइल से पहले सेव करें। इस पाठ के लिए import लाइन Bell के अंदर न डालें — import उस फ़ाइल में है जो छोटा नाम चाहती है, यहाँ Porch।
package kit;
public class Bell {
public static void ring() {
System.out.println("ding");
}
}
Porch पहले import करता है फिर Bell.ring बुलाता है
पैरेंट फ़ोल्डर में Porch.java बनाएँ — kit के समान स्तर पर, kit के अंदर नहीं। import kit.Bell; को Porch की किसी package लाइन के बाद (इस पेज पर Porch की कोई नहीं) और public class Porch से पहले रखें। main के अंदर लिखें Bell.ring();। इस डेमो के लिए ज़रूरी पथ kit.Bell.ring(); न रखें — पाठ ही import है।
Porch को वही क्लास रखें जिसमें main है। अगर packages पेज का बचा Lobby.java अभी भी सिर्फ़ kit.Bell.ring(); बुलाता है, उस फ़ाइल को अलग छोड़ सकते हैं। इस पाठ के लिए पैरेंट से कंपाइल के बाद java Porch चलाएँ।
import kit.Bell;
public class Porch {
public static void main(String[] args) {
Bell.ring();
}
}
उस पैरेंट फ़ोल्डर से जहाँ Porch.java और kit फ़ोल्डर दोनों हैं, javac kit/Bell.java Porch.java चलाएँ। Windows पर उसी तरह kit\Bell.java भी बता सकते हैं। जब कोष्ठक, ब्रेसेस और सेमीकोलन मिलते हैं तो javac अपनी कोई लाइन नहीं लिखता। फिर java Porch चलाएँ — java Porch.java नहीं, और java kit.Bell भी नहीं। रन कमांड से .java अंत हटाएँ। वही क्लास शुरू करें जिसमें main है।
प्रोग्राम एक लाइन प्रिंट कर रुकना चाहिए: ding। आपसे टाइप नहीं माँगना चाहिए। अगर टर्मिनल कीबोर्ड इनपुट का इंतज़ार करे तो किसी पुराने अभ्यास की nextLine कॉल अभी किसी फ़ाइल में है। वह कॉल हटाएँ और Porch में import kit.Bell; के साथ Bell.ring(); रखें।
रन को एक बार चलाकर देखें। Java Porch.main से शुरू होता है। import पहले ही बता चुका है कि आप कौन-सा Bell चाहते हैं। कॉल Bell.ring() पैकेज kit की static मेथड चलाती है। बॉडी ding प्रिंट करती है। स्क्रीन ding दिखाती है। और कुछ नहीं छपना चाहिए। अगर आप 9 या ok देखें, आप अभी भी पिछले पेज का पुराना Pier या Yard प्रोग्राम चला रहे हैं।
अगर बिना import और बिना kit. उपसर्ग के Bell.ring(); लिखें, इस पेज पर javac क्लास नहीं ढूँढता। क्लास के ऊपर import kit.Bell; जोड़ें, या पूरा नाम इस्तेमाल करें। अगर import को public class Porch के बाद रखें, javac मना करता है — import क्लास घोषणा से पहले आते हैं। वर्तनी भी मायने रखती है: import kit.Bell; पैकेज फ़ोल्डर और क्लास नाम से अक्षर-अक्षर मिलनी चाहिए।
बिना import के पूरा नाम अभी भी काम करता है
आप अभी भी बिना import लाइन के kit.Bell.ring(); बुला सकते हैं। वह packages-पेज का रूप है। दूसरी Porch डेमो वही पथ रखती है ताकि आप दोनों शैली देख सकें।
public class Porch {
public static void main(String[] args) {
kit.Bell.ring();
}
}
उसी तरह कंपाइल और चलाएँ: javac kit/Bell.java Porch.java, फिर java Porch। स्क्रीन फिर भी ding दिखाती है। import पेज की पसंदीदा शिक्षण फ़ाइल वही है जिसमें import kit.Bell; और Bell.ring(); हैं। पूरी-नाम वाली फ़ाइल सिर्फ़ यह साबित करने के लिए रखें कि पुरानी कॉल अभी भी कंपाइल होती है। क्विज़ पथ के लिए दोनों कॉल को एक ही सेव फ़ाइल में न मिलाएँ — पाठ फ़ाइल के रूप में import रूप चुनें।
अगर स्क्रीन बचा हुआ 9 या ok दिखाए, पुराना Pier या Yard प्रोग्राम अभी चल रहा है। java Porch पर जाएँ। अगर javac कहे पैकेज kit मौजूद नहीं, जाँचें कि Bell.java अभी भी फ़ोल्डर kit के नीचे है और पहली लाइन package kit; है।
packages से तुलना
packages पेज पर अकेली कॉल kit.Bell.ring(); थी। यह पेज import kit.Bell; जोड़ता है ताकि छोटा नाम काम करे। बचा Lobby जो कभी import नहीं करता इतिहास है, इस पाठ की ज़रूरी फ़ाइल नहीं। इस पेज के लिए Porch में import kit.Bell; और Bell.ring(); रखें।
Bell फ़ाइल के अंदर आपको import की ज़रूरत नहीं। Bell पहले से अपना पैकेज जानता है। import पैकेज के बाहर वाले कॉलर के लिए है जो छोटा नाम चाहता है। import को सिर्फ़ इसी सोर्स फ़ाइल का स्थानीय उपनाम समझें — दूसरी फ़ाइलें वह उपनाम तब तक नहीं पातीं जब तक वे खुद import न लिखें।
जब बाद में आप एक ही पैकेज की कई क्लासें खोलें, कई import लाइनें लिख सकते हैं, प्रति क्लास एक। यह पेज एक import रखता है ताकि छोटी कॉल साफ़ दिखे।
ArrayList के लिए क्या बचता है
यह पेज Classes मॉड्यूल की पैकेज कहानी import के साथ खत्म करता है। अगला पेज Collections को ArrayList से खोलता है। यहाँ import और छोटी कॉल पर रहें। इस पेज पर वाइल्डकार्ड import kit.*; ज़रूरी न बनाएँ; एक सटीक import काफी है।
जब पुरानी Lobby.java फ़ाइलें अभी पैरेंट फ़ोल्डर में हों, उन्हें छोड़ दें या तभी हटाएँ जब वे आपकी कंपाइल कमांड उलझाएँ। इस पाठ की import जोड़ी कंपाइल करने के बाद java Porch चलाएँ।
ArrayList से पहले
आप Bell को kit के नीचे package kit; के साथ रख सकते हैं, Porch में import kit.Bell; लिख सकते हैं, और Bell.ring(); बुला सकते हैं। पैरेंट फ़ोल्डर से कंपाइल करें और java Porch चलाएँ। स्क्रीन ding दिखाती है। import ने छोटा नाम खोला। अगला पेज ArrayList है, जहाँ आप बढ़ती सूची एक ऑब्जेक्ट में रखते हैं।
import को क्लास के ऊपर रखें। शिक्षण फ़ाइल में छोटी कॉल Bell.ring(); रखें। पैरेंट फ़ोल्डर से कंपाइल करते रहें। ये तीन आदतें आगे बढ़ने से पहले इस पेज का चेकपॉइंट हैं। जब Bell.ring(); के बाद स्क्रीन ding दिखाए, import लाइन ने इस पाठ का काम कर दिया और आप अगले विषय के लिए तैयार हैं।
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी