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

Java में स्टेटिक मेथड या स्टेटिक ब्लॉक पर क्या प्रतिबंध हैं?

स्टेटिक मेथड्स

  • नॉन-स्टेटिक सदस्यों को एक्सेस नहीं कर सकते (इंस्टेंस वेरिएबल/मेथड्स) - कोई this संदर्भ नहीं।
  • this और super का उपयोग नहीं कर सकते।
  • केवल स्टेटिक डेटा एक्सेस कर सकते हैं।
  • ओवरराइड नहीं किए जा सकते - केवल छिपाए जा सकते हैं (मेथड हाइडिंग)।
  • स्टेटिक मेथड्स से चेक्ड अपवाद फेंके जा सकते हैं।

स्टेटिक ब्लॉक्स

  • कुछ भी रिटर्न नहीं कर सकते।
  • स्पष्ट रूप से आह्वान नहीं किए जा सकते - क्लास लोडिंग पर स्वचालित रूप से चलते हैं।
  • अपवादों को आंतरिक रूप से try-catch में संभालना चाहिए - चेक्ड अपवाद नहीं फेंक सकते।
  • this/super का उपयोग नहीं कर सकते।
  • घोषणा क्रम में निष्पादित होते हैं - गतिशील क्रम नियंत्रण नहीं।

उदाहरण

public class StaticDemo {
    static int count = 0;

    static {
        System.out.println("Static block 1");
        count = 10;
    }

    static {
        System.out.println("Static block 2: count = " + count);
    }

    public static void staticMethod() {
        System.out.println("Static method: count = " + count);
        // System.out.println(instanceVar); // त्रुटि: नॉन-स्टेटिक एक्सेस नहीं कर सकते
    }

    public static void main(String[] args) {
        staticMethod();
    }
}

आउटपुट

Static block 1
Static block 2: count = 10
Static method: count = 10
  1. Java में String intern() मेथड की भूमिका क्या है? Java में String intern() मेथड की भूमिका क्या है?

    स्ट्रिंग Java में एक क्लास है जो कैरेक्टर्स के सीक्वेंस को स्टोर करती है, यह java.lang पैकेज से संबंधित है। एक बार स्ट्रिंग ऑब्जेक्ट बनाने के बाद आप उन्हें मॉडिफाई नहीं कर सकते (इम्यूटेबल)। स्टोरेज सभी स्ट्रिंग ऑब्जेक्ट्स हीप एरिया में एक अलग मेमोरी लोकेशन में स्टोर होते हैं जिसे स्ट्रिंग कॉन्स्टे

  1. Java में paint() विधि और repaint() विधि के बीच क्या अंतर हैं? Java में paint() विधि और repaint() विधि के बीच क्या अंतर हैं?

    Paint() और Repaint() paint(): इस विधि में इस घटक को पेंट करने के निर्देश होते हैं। Java Swing में, हम paint() विधि के बजाय paintComponent() विधि को बदल सकते हैं क्योंकि paint paintBorder(), paintComponent() और paintChildren() विधियों को कॉल करता है। हम इस विधि को सीधे नहीं बुला सकते, इसके बजाय हम

  1. Java में setBounds() विधि का उपयोग क्या है? Java में setBounds() विधि का उपयोग क्या है?

    लेआउट प्रबंधक जोड़े गए घटकों की स्थिति और आकार को स्वचालित रूप से तय करने के लिए उपयोग किए जाते हैं। लेआउट प्रबंधक की अनुपस्थिति में, घटकों की स्थिति और आकार को मैन्युअल रूप से सेट करना पड़ता है। ऐसी स्थिति में setBounds() विधि का उपयोग स्थिति और आकार सेट करने के लिए किया जाता है। घटकों की स्थिति औ