इनिशियलाइज़र ब्लॉक का उपयोग कंस्ट्रक्टर्स के सामान्य भागों को घोषित करने के लिए किया जाता है।
उदाहरण
import java.io.*;
public class Demo {
{
System.out.println("सामान्य कंस्ट्रक्टर आह्वान किया गया है");
}
public Demo() {
System.out.println("डिफ़ॉल्ट कंस्ट्रक्टर आह्वान किया गया है");
}
public Demo(int x) {
System.out.println("पैरामीटरीकृत कंस्ट्रक्टर आह्वान किया गया है");
}
public static void main(String arr[]) {
Demo my_obj_1, my_obj_2;
System.out.println("Demo ऑब्जेक्ट्स बनाए गए हैं।");
my_obj_1 = new Demo();
my_obj_2 = new Demo(89);
}
}
आउटपुट
Demo ऑब्जेक्ट्स बनाए गए हैं।
सामान्य कंस्ट्रक्टर आह्वान किया गया है
डिफ़ॉल्ट कंस्ट्रक्टर आह्वान किया गया है
सामान्य कंस्ट्रक्टर आह्वान किया गया है
पैरामीटरीकृत कंस्ट्रक्टर आह्वान किया गया है
व्याख्या: Demo क्लास में एक बिना पैरामीटर का कंस्ट्रक्टर, एक पैरामीटरीकृत कंस्ट्रक्टर, और मुख्य फंक्शन होता है। मुख्य फंक्शन के अंदर, Demo क्लास का एक इंस्टेंस बनाया जाता है, एक पैरामीटर के साथ, और एक बिना पैरामीटर के।
इनिशियलाइज़र ब्लॉक के प्रकार:
| प्रकार | सिंटैक्स | निष्पादन समय | उपयोग |
|---|---|---|---|
| इंस्टेंस इनिशियलाइज़र | { ... } | प्रत्येक ऑब्जेक्ट निर्माण से पहले | सामान्य इंस्टेंस इनिशियलाइज़ेशन |
| स्टेटिक इनिशियलाइज़र | static { ... } | क्लास लोडिंग पर एक बार | स्टेटिक फील्ड इनिशियलाइज़ेशन |
निष्पादन क्रम:
- स्टेटिक इनिशियलाइज़र (क्लास लोडिंग पर)
- इंस्टेंस इनिशियलाइज़र (प्रत्येक new() से पहले)
- कंस्ट्रक्टर बॉडी
उपयोग केस:
public class DatabaseConfig {
private static String url;
private Connection conn;
// स्टेटिक इनिशियलाइज़र - एक बार कॉन्फिग लोड
static {
url = loadFromConfigFile();
}
// इंस्टेंस इनिशियलाइज़र - प्रत्येक इंस्टेंस के लिए कनेक्शन
{
conn = DriverManager.getConnection(url);
}
public DatabaseConfig() { /* अतिरिक्त सेटअप */ }
}