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

जावा में स्टेटिक ब्लॉक्स उदाहरण के साथ

स्टेटिक ब्लॉक तब निष्पादित होता है जब क्लासलोडर क्लास को लोड करता है। एक स्टेटिक ब्लॉक main() मेथड से पहले आह्वान किया जाता है।

उदाहरण

class Demo { 
    static int val_1; 
    int val_2; 
    
    static { 
        val_1 = 67; 
        System.out.println("स्टेटिक ब्लॉक को कॉल किया गया है।"); 
    } 
} 

public class Main { 
    public static void main(String args[]) { 
        System.out.println(Demo.val_1); 
    } 
}

आउटपुट

स्टेटिक ब्लॉक को कॉल किया गया है। 
67

व्याख्या: Demo नामक एक क्लास में एक स्टेटिक इंटीजर मान और एक सामान्य इंटीजर मान होता है। एक स्टेटिक ब्लॉक में, एक मान परिभाषित किया जाता है, और मुख्य क्लास में, Demo क्लास का एक इंस्टेंस बनाया जाता है और वहां से स्टेटिक इंटीजर को एक्सेस किया जाता है।

स्टेटिक ब्लॉक की मुख्य विशेषताएं:

  • क्लास लोडिंग पर ठीक एक बार निष्पादित होता है
  • किसी भी कंस्ट्रक्टर या main() से पहले चलता है
  • स्टेटिक फील्ड्स को आरंभ करने के लिए उपयोग किया जाता है जिनके लिए तर्क की आवश्यकता होती है
  • एक क्लास में एकाधिक स्टेटिक ब्लॉक्स हो सकते हैं (क्रम मायने रखता है)
  • इसमें 'this' या 'super' का उपयोग नहीं कर सकते
  • केवल स्टेटिक मेंबर्स को एक्सेस कर सकते हैं

उपयोग केस:

public class DatabaseDriver {
    static {
        // JDBC ड्राइवर रजिस्टर करें
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            throw new RuntimeException("ड्राइवर नहीं मिला", e);
        }
    }
    
    // बाकी क्लास...
}

स्टेटिक ब्लॉक vs इंस्टेंस इनिशियलाइज़र:

class Example {
    static { System.out.println("स्टेटिक ब्लॉक"); }      // 1. क्लास लोड पर
    { System.out.println("इंस्टेंस इनिशियलाइज़र"); }   // 2. प्रत्येक new() पर
    Example() { System.out.println("कंस्ट्रक्टर"); }      // 3. प्रत्येक new() पर
}
  1. Eclipse के साथ JavaFX सेटअप Eclipse के साथ JavaFX सेटअप

    Eclipse में JavaFX सेटअप करने के लिए, सबसे पहले सुनिश्चित करें कि आपके सिस्टम में Eclipse और Java सफलतापूर्वक इंस्टॉल हैं। Maven डिपेंडेंसी Maven डिपेंडेंसी का उपयोग करके JavaFX वातावरण सेट करने के लिए, Eclipse में एक Java प्रोजेक्ट बनाएं और इसे नीचे दिखाए अनुसार Maven प्रोजेक्ट में बदलें - फिर

  1. - Java में Abstract Class

    अपनी घोषणा में abstract कीवर्ड वाली क्लास को abstract क्लास के रूप में जाना जाता है।Abstract क्लासेज में abstract मेथड्स हो भी सकते हैं और नहीं भी, यानी बिना बॉडी वाले मेथड्स (public void get();)लेकिन, यदि एक क्लास में कम से कम एक abstract मेथड है, तो क्लास को abstract घोषित किया जाना चाहिए।यदि एक क

  1. - Java में Final Class

    क्लास को final घोषित करने का मुख्य उद्देश्य क्लास को सबक्लास होने से रोकना है। यदि एक क्लास को final के रूप में चिह्नित किया जाता है तो कोई भी क्लास final क्लास से किसी भी सुविधा को इनहेरिट नहीं कर सकती।public final class Test { // body of class }