Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में main() मेथड हमेशा static क्यों होता है?


Java main() मेथड हमेशा static होता है, ताकि कंपाइलर इसे ऑब्जेक्ट बनाए बिना या क्लास के ऑब्जेक्ट बनने से पहले कॉल कर सके।

  • किसी भी जावा प्रोग्राम में, main() मेथड वह शुरुआती बिंदु है जहां से कंपाइलर प्रोग्राम निष्पादन शुरू करता है। इसलिए, कंपाइलर को main() मेथड को कॉल करने की आवश्यकता होती है।
  • यदि main() को नॉन-स्टैटिक होने की अनुमति दी जाती, तो main() मेथड को कॉल करते समय JVM को इसकी क्लास को इंस्टेंशिएट करना पड़ता।
  • इंस्टेंशिएट करते समय इसे उस क्लास के कंस्ट्रक्टर को कॉल करना पड़ता, यदि उस क्लास का कंस्ट्रक्टर आर्गुमेंट लेता है तो अस्पष्टता होगी।
  • किसी क्लास के static मेथड को केवल क्लास नाम का उपयोग करके बिना क्लास का ऑब्जेक्ट बनाए कॉल किया जा सकता है।
  • Java में main() मेथड को public, static और void घोषित किया जाना चाहिए। यदि इनमें से कोई भी गायब है, तो जावा प्रोग्राम कंपाइल होगा लेकिन रनटाइम एरर फेंका जाएगा।

उदाहरण

class Book {
    public static void getBookInfo() { // static मेथड
        System.out.println("Welcome to TutorialsPoint Library");
    }
}
public class Test {
    public static void main(String[] args) {
        // Book क्लास के static मेथड को केवल क्लास नाम का उपयोग करके कॉल करना
        Book.getBookInfo();
    }
}

आउटपुट

Welcome to TutorialsPoint Library

  1. - क्या Java में main() मेथड को final घोषित कर सकते हैं?

    हां, हम Java में main() मेथड को final घोषित कर सकते हैं। कंपाइलर कोई एरर नहीं फेंकता। यदि हम किसी मेथड को final कीवर्ड रखकर final घोषित करते हैं तो वह मेथड final मेथड बन जाता है। Java में final मेथड का मुख्य उपयोग यह है कि उन्हें ओवरराइड नहीं किया जाता। हम final मेथड्स को सबक्लासेस में ओवरराइड नह

  1. - Java में कंस्ट्रक्टर का नाम क्लास के नाम के समान क्यों होता है?

    हर क्लास ऑब्जेक्ट को उसी new कीवर्ड का उपयोग करके बनाया जाता है, इसलिए इसमें उस क्लास के बारे में जानकारी होनी चाहिए जिसका ऑब्जेक्ट इसे बनाना है। इस कारण से, कंस्ट्रक्टर का नाम क्लास के नाम के समान होना चाहिए। उदाहरण class MyConstructor { public MyConstructor() { System.out.println(The

  1. - Java में Method Overriding

    ओवरराइडिंग सबक्लास टाइप के लिए विशिष्ट व्यवहार को परिभाषित करने की क्षमता है, जिसका अर्थ है कि एक सबक्लास अपनी आवश्यकता के आधार पर पैरेंट क्लास मेथड को इम्प्लीमेंट कर सकता है।ऑब्जेक्ट-ओरिएंटेड शब्दों में, ओवरराइडिंग का अर्थ है मौजूदा मेथड की कार्यक्षमता को ओवरराइड करना।उदाहरणआइए एक उदाहरण देखें।clas