कंस्ट्रक्टर्स ऑब्जेक्ट्स को इनिशियलाइज़ करने के लिए उपयोग किए जाने वाले विशेष मेथड्स हैं जबकि मेथड्स का उपयोग कुछ स्टेटमेंट्स को निष्पादित करने के लिए किया जाता है। कंस्ट्रक्टर्स और मेथड्स के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।
| क्र. सं. | मुख्य बिंदु | Constructors | Methods |
|---|---|---|---|
| 1 | उद्देश्य | कंस्ट्रक्टर का उपयोग ऑब्जेक्ट बनाने और इनिशियलाइज़ करने के लिए किया जाता है। | मेथड का उपयोग कुछ स्टेटमेंट्स को निष्पादित करने के लिए किया जाता है। |
| 2 | इनवोकेशन | एक कंस्ट्रक्टर को सिस्टम द्वारा निहित रूप से इनवोक किया जाता है। | एक मेथड को प्रोग्राम कोड के दौरान इनवोक किया जाना होता है। |
| 3 | इनवोकेशन | एक कंस्ट्रक्टर को तब इनवोक किया जाता है जब ऑब्जेक्ट बनाने के लिए new कीवर्ड का उपयोग किया जाता है। | एक मेथड को तब इनवोक किया जाता है जब इसे कॉल किया जाता है। |
| 4 | रिटर्न टाइप | एक कंस्ट्रक्टर का कोई रिटर्न टाइप नहीं हो सकता। | एक मेथड का रिटर्न टाइप हो सकता है। |
| 5 | ऑब्जेक्ट | एक कंस्ट्रक्टर उस ऑब्जेक्ट को इनिशियलाइज़ करता है जो अस्तित्व में नहीं है। | एक मेथड को केवल मौजूदा ऑब्जेक्ट पर इनवोक किया जा सकता है। |
| 6 | नाम | एक कंस्ट्रक्टर का नाम क्लास के समान होना चाहिए। | एक मेथड का नाम क्लास के नाम के समान नहीं हो सकता। |
| 7 | इनहेरिटेंस | एक कंस्ट्रक्टर को सबक्लास द्वारा इनहेरिट नहीं किया जा सकता। | एक मेथड को सबक्लास द्वारा इनहेरिट किया जाता है। |
Constructor बनाम Method का उदाहरण
JavaTester.java
public class JavaTester {
int num;
JavaTester(){
num = 3;
System.out.println("Constructor invoked. num: " + num);
}
public void init(){
num = 5;
System.out.println("Method invoked. num: " + num);
}
public static void main(String args[]) {
JavaTester tester = new JavaTester();
tester.init();
}
}आउटपुट
Constructor invoked. num: 3 Method invoked. num: 5