लोड हो रहा है...

Java में मेथड्स

ring नाम की एक मेथड लिखें जो एक शब्द छापे: ding। वे प्रिंट पंक्तियाँ static void ring() के नीचे खाली कोष्ठक के साथ रखें। main के अंदर केवल ring(); लिखें — नाम, फिर खाली कोष्ठक, फिर सेमीकोलन। कंपाइल और चलाएँ। स्क्रीन पर एक पंक्ति दिखनी चाहिए: ding। ding का println स्वयं main नहीं रखता। मेथड रखती है। यही अलगाव इस पृष्ठ का पाठ है।

वे पंक्तियाँ जो ring के नीचे रहती हैं

अब तक आपका ज़्यादातर प्रिंट काम सीधे main के अंदर बैठता था। वह तरीका अभी भी सही है। मेथड उन्हीं पंक्तियों को अपना अलग नाम देती है। पंक्तियाँ एक बार उस नाम के नीचे लिखते हैं। फिर main उसी नाम को कॉल के रूप में लिखकर उन्हें माँगता है।
Chime.java नाम की एक छोटी प्रोग्राम फ़ाइल बनाएँ। पहली पंक्ति पर public class फ़ाइल नाम से मेल खानी चाहिए: public class Chime। इस फ़ाइल में पुराना Pack या Skip class नाम न छोड़ें; कंपाइलर class नाम और फ़ाइल नाम का मेल चाहता है।
main के बाहर, फिर भी class braces के अंदर, लिखें:
static void ring() {
System.out.println("ding");
}
शब्द static इस शुरुआती आकार पर इसलिए रहता है कि main बिना ऑब्जेक्ट बनाए ring को कॉल कर सके। शब्द void का मतलब है यह मेथड कॉल करने वाले को कोई value वापस नहीं देती — केवल अपना शरीर चलाती है। नाम ring वही लेबल है जो आप main में टाइप करेंगे। खाली कोष्ठक () का मतलब है इस पृष्ठ की मेथड कोई value अंदर नहीं लेती। braces शरीर रखते हैं। System.out.println("ding"); चार अक्षर d-i-n-g लिखता है। कंपाइल से पहले फ़ाइल सहेजें।

Chime.java जिसे आप कंपाइल करते हैं

यहाँ इस पृष्ठ का पूरा छोटा प्रोग्राम है। main केवल कॉल रखता है। ring प्रिंट रखती है।

ring ding छापती है

java
public class Chime {
    public static void main(String[] args) {
        ring();
    }

    static void ring() {
        System.out.println("ding");
    }
}

उस फ़ोल्डर से जहाँ Chime.java है, javac Chime.java चलाएँ। जब कोष्ठक, braces और सेमीकोलन मेल खाते हैं, javac अपनी कोई पंक्ति नहीं लिखता। फिर java Chime चलाएँ — java Chime.java नहीं। दूसरी कमांड से .java अंत हटा दें। वही दो कमांड Windows और macOS दोनों पर चलती हैं; इस पृष्ठ को किसी भी सिस्टम के लिए अलग shell वर्तनी की ज़रूरत नहीं। प्रोग्राम को एक पंक्ति छापकर रुकना चाहिए: ding। उसे आपसे टाइप नहीं माँगना चाहिए। अगर टर्मिनल कीबोर्ड इनपुट का इंतज़ार करे, तो पुराने अभ्यास का nextLine अभी फ़ाइल में है। उस कॉल को हटाएँ और main की ring(); तथा ऊपर वाली ring मेथड रखें। गलत स्क्रीन पंक्ति का मतलब नया JDK इंस्टॉल नहीं है।

एक रन को क्रम से पढ़ें। Java main से शुरू होता है। main में एकमात्र स्टेटमेंट ring(); है। वह कॉल ring मेथड में कूदता है। ring के अंदर println ding लिखता है। फिर ring खत्म होती है, और main में कुछ नहीं बचा, इसलिए प्रोग्राम रुक जाता है। इस पृष्ठ पर आपने System.out.println("ding"); को main के अंदर नहीं रखा। ring के नीचे रखा और नाम से माँगा। अगर स्क्रीन ding दिखाए, कॉल शरीर तक पहुँचा। अगर साफ़ कंपाइल के बाद स्क्रीन खाली रहे, तो या तो main ने ring को कभी कॉल नहीं किया, या main अभी भी बिना कॉल के केवल खाली braces रखता है।

main से ring को एक से अधिक बार कॉल करें

केवल main बदलें ताकि वह वही मेथड दो बार कॉल करे:
public static void main(String[] args) {
ring();
ring();
}
ring मेथड को खुद अकेला छोड़ दें। फिर से कंपाइल और चलाएँ: javac Chime.java, फिर java Chime। स्क्रीन पर दो पंक्तियाँ दिखनी चाहिए, प्रत्येक ding। पहली कॉल शरीर एक बार चलाती है। दूसरी कॉल वही शरीर फिर चलाती है। यही दोबारा उपयोग नाम देने का कारण है। आपने ring के नीचे println दोबारा कॉपी नहीं किया। main में दूसरी कॉल लिखी।
अगर दूसरी ring(); हटा दें और केवल एक कॉल रह जाए, स्क्रीन फिर एक ding पर लौटती है। मेथड की परिभाषा अकेले कुछ नहीं छापती। केवल main से कॉल (या बाद में किसी और मेथड से) शरीर चलाती है। वह फ़ाइल जो ring परिभाषित करे पर main से कभी कॉल न करे, कंपाइल हो सकती है और फिर भी जब आप java Chime चलाएँ स्क्रीन खाली रह सकती है, क्योंकि main के पास करने को कुछ नहीं है।

मेथड हेडर के टुकड़े

इस पृष्ठ पर हेडर है static void ring()। बाएँ से दाएँ पढ़ें। static इस शुरुआती आकार पर main को मेथड कॉल करने देता है। void का मतलब है कॉल से कोई value वापस नहीं आती। ring नाम है। () जानबूझकर खाली हैं: इस सत्र में मेथड में शब्द या संख्या नहीं भेजी जाती। अगला पृष्ठ, parameters, उन्हीं कोष्ठकों के अंदर नाम रखता है। उसके बाद वाला पृष्ठ, return, जब आपको value वापस चाहिए तो void बदलता है। दोनों बाद के लिए रखें। आज खाली () और void काफी हैं।

📊 इस पृष्ठ पर हेडर का टुकड़ा

टुकड़ा इस पृष्ठ पर
static main बिना ऑब्जेक्ट के ring कॉल कर सकता है
void ring कोई value वापस नहीं देती
ring वह नाम जो आप कॉल में टाइप करते हैं
() इस पृष्ठ पर कोई value अंदर नहीं जाती
{ ... } वह शरीर जो ding छापता है

main में कॉल नाम से बिल्कुल मेल खानी चाहिए: ring(); छोटे r के साथ, खाली कोष्ठक, और सेमीकोलन। Ring(); बड़े R के साथ लिखना Java के लिए अलग नाम है। बिना () के ring लिखना इस आकार पर कॉल नहीं है। System.out.println("ring"); लिखना शब्द ring के चार अक्षर छापता है; मेथड का शरीर नहीं चलाता। जब स्क्रीन पर ding चाहिए, कॉल ring(); रखें।

एक आम बचा हुआ पुराना Pack for-each डेमो है जो अभी भी नई कॉल के पास main में बैठा है। तब स्क्रीन ding की जगह 2, 4 और 6, या red और blue दिखा सकती है — या दोनों तरह की पंक्तियाँ मिली-जुली। main को उन ring(); कॉल तक साफ़ करें जिनकी इस पाठ को ज़रूरत है। दूसरी गलती मेथड को main के braces के अंदर रखना है। इस पृष्ठ की मेथड्स class के अंदर, main के बगल में बैठती हैं, main के अंदर नेस्ट नहीं। javac main के अंदर दबी मेथड को वह ring नहीं मानेगा जिसे आप कॉल करते हैं। ring के braces main खत्म होने से पहले बंद करें, और main के braces class खत्म होने से पहले, ताकि हर ब्लॉक केवल अपनी पंक्तियाँ रखे।

अगले पृष्ठों के लिए तैयार

आप static void ring() लिख सकते हैं, println पंक्तियाँ उसके braces में रख सकते हैं, और main से ring() कॉल कर सकते हैं ताकि स्क्रीन ding दिखाए। दो बार कॉल शरीर कॉपी किए बिना दो बार ding छापती है। खाली कोष्ठक और void जानबूझकर इस पृष्ठ पर रहते हैं। parameters कोष्ठकों के अंदर values रखेगा। return मेथड को संख्या या पाठ main को वापस देने देगा। वे इस पृष्ठ के बाद के दो पृष्ठ हैं।

🧠 अपने ज्ञान की परीक्षा करें

शुरू करने के लिए तैयार

अपने ज्ञान की परीक्षा करें

इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं

❓
7
प्रश्न
🎯
70%
पास करने के लिए
♾️
∞
समय
🔄
∞
प्रयास

📝 निर्देश

  • हर प्रश्न को ध्यान से पढ़ें
  • हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
  • आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
  • आपकी प्रगति शीर्ष पर दिखाई जाएगी