कंस्ट्रक्टर मेथड के समान होता है और यह क्लास के ऑब्जेक्ट बनाते समय इनवोक होता है। यह आमतौर पर क्लास के इंस्टेंस वेरिएबल्स को इनिशियलाइज़ करने के लिए उपयोग किया जाता है। कंस्ट्रक्टर्स का नाम उनकी क्लास के समान होता है और इनका कोई रिटर्न टाइप नहीं होता।
दो प्रकार के कंस्ट्रक्टर्स होते हैं: पैरामीटराइज्ड कंस्ट्रक्टर्स और नो-आर्ग कंस्ट्रक्टर्स।
पैरामीटराइज्ड कंस्ट्रक्टर्स
पैरामीटराइज्ड कंस्ट्रक्टर पैरामीटर्स स्वीकार करता है जिनसे आप इंस्टेंस वेरिएबल्स को इनिशियलाइज़ कर सकते हैं। पैरामीटराइज्ड कंस्ट्रक्टर का उपयोग करके, आप क्लास इंस्टेंटिएट करते समय क्लास वेरिएबल्स को विशिष्ट मानों के साथ डायनामिकली इनिशियलाइज़ कर सकते हैं।
उदाहरण
public class StudentData {
private String name;
private int age;
public StudentData(String name, int age){
this.name = name;
this.age = age;
}
public StudentData(){
this(null, 0);
}
public StudentData(String name) {
this(name, 0);
}
public StudentData(int age) {
this(null, age);
}
public void display(){
System.out.println("छात्र का नाम: "+this.name );
System.out.println("छात्र की आयु: "+this.age );
}
public static void main(String args[]) {
// उपयोगकर्ता से मान पढ़ना
Scanner sc = new Scanner(System.in);
System.out.println("छात्र का नाम दर्ज करें: ");
String name = sc.nextLine();
System.out.println("छात्र की आयु दर्ज करें: ");
int age = sc.nextInt();
System.out.println(" ");
// दोनों मान स्वीकार करने वाले कंस्ट्रक्टर को कॉल करना
System.out.println("दोनों मान स्वीकार करने वाले कंस्ट्रक्टर का डिस्प्ले मेथड: ");
new StudentData(name, age).display();
System.out.println(" ");
// केवल नाम स्वीकार करने वाले कंस्ट्रक्टर को कॉल करना
System.out.println("केवल नाम स्वीकार करने वाले कंस्ट्रक्टर का डिस्प्ले मेथड: ");
new StudentData(name).display();
System.out.println(" ");
// केवल आयु स्वीकार करने वाले कंस्ट्रक्टर को कॉल करना
System.out.println("केवल आयु स्वीकार करने वाले कंस्ट्रक्टर का डिस्प्ले मेथड: ");
new StudentData(age).display();
System.out.println(" ");
// डिफॉल्ट कंस्ट्रक्टर को कॉल करना
System.out.println("डिफॉल्ट कंस्ट्रक्टर का डिस्प्ले मेथड: ");
new StudentData().display();
}
}
आउटपुट
छात्र का नाम दर्ज करें: Krishna छात्र की आयु दर्ज करें: 22 दोनों मान स्वीकार करने वाले कंस्ट्रक्टर का डिस्प्ले मेथड: छात्र का नाम: Krishna छात्र की आयु: 22 केवल नाम स्वीकार करने वाले कंस्ट्रक्टर का डिस्प्ले मेथड: छात्र का नाम: Krishna छात्र की आयु: 0 केवल आयु स्वीकार करने वाले कंस्ट्रक्टर का डिस्प्ले मेथड: छात्र का नाम: null छात्र की आयु: 22