जब भी कोई ऑब्जेक्ट बनाया जाता है, एक नॉन-स्टैटिक ब्लॉक कंस्ट्रक्टर के निष्पादन से पहले निष्पादित होगा।
नॉन-स्टैटिक ब्लॉक्स
- नॉन-स्टैटिक ब्लॉक्स क्लास लेवल ब्लॉक्स हैं जिनका कोई प्रोटोटाइप नहीं होता।
- नॉन-स्टैटिक ब्लॉक की आवश्यकता किसी भी लॉजिक को निष्पादित करने के लिए होती है जब भी कोई ऑब्जेक्ट बनाया जाता है, भले ही कंस्ट्रक्टर कोई भी हो।
- नॉन-स्टैटिक ब्लॉक्स JVM द्वारा Java स्टैक एरिया में हर ऑब्जेक्ट निर्माण के लिए स्वचालित रूप से कॉल किए जाते हैं।
- हम Java में कितने भी नॉन-स्टैटिक ब्लॉक्स बना सकते हैं।
- नॉन-स्टैटिक ब्लॉक्स का निष्पादन क्रम वही होता है जिस क्रम में वे परिभाषित हैं।
उदाहरण
public class NonStaticBlockTest {
{
System.out.println("First Non-Static Block"); // पहला नॉन-स्टैटिक ब्लॉक
}
{
System.out.println("Second Non-Static Block"); // दूसरा नॉन-स्टैटिक ब्लॉक
}
{
System.out.println("Third Non-Static Block"); // तीसरा नॉन-स्टैटिक ब्लॉक
}
NonStaticBlockTest() {
System.out.println("Execution of a Constructor"); // कंस्ट्रक्टर
}
public static void main(String args[]) {
NonStaticBlockTest nsbt1 = new NonStaticBlockTest();
NonStaticBlockTest nsbt2 = new NonStaticBlockTest();
}
}
आउटपुट
First Non-Static Block Second Non-Static Block Third Non-Static Block Execution of a Constructor First Non-Static Block Second Non-Static Block Third Non-Static Block Execution of a Constructor
प्रत्येक ऑब्जेक्ट निर्माण के लिए, सभी नॉन-स्टैटिक ब्लॉक्स परिभाषा क्रम में चलते हैं, फिर कंस्ट्रक्टर चलता है।