Constructor in Java
Java में एक constructor एक method के similar होता है जो तब बनाया जाता है जब class का एक object बनाया जाता है।
Constructor code का एक block है जो newly create किये गए object को initialize करता है। एक constructor java में एक instance method जैसा दिखता है, लेकिन यह एक method नहीं है क्योंकि इसमें return type नहीं है। short constructor और methods अलग हैं। People अक्सर java में constructor को special type की method के रूप में refer करते हैं।
Java methods के विपरीत, एक constructor का class के समान नाम होता है और उसका कोई return type नहीं होता है। Example के लिए,
class Sample {
Sample() {
// constructor body
}
}
How does a constructor work:
constructor working को समझने के लिए, एक example लेते हैं। मान लीजिए कि हमारे पास एक Class MyClass है।
जब हम इस तरह MyClass का object create करते हैं |
यहां new keyword class MyClass का object बनाता है और इस newly created object को initialize करने के लिए constructor को invoke करता है।
A simple constructor program in java:
यहाँ हमने class Hello का object बनाया है और फिर हमने object का instance variable name display किया। जैसा कि आप देख सकते हैं कि output Codeash.com है, जिसे हमने constructor में initialization के दौरान नाम दिया है। इससे पता चलता है कि जब हमने object बनाया था तो constructor को बुलाया गया था। इस example में हमने इस keyword का use किया है, जो इस example में current object, object obj को refer करता है।
public class Hello {
String name;
//Constructor
Hello(){
this.name = “Codeash.com“;
}
public static void main(String[] args) {
Hello obj = new Hello();
System.out.println(obj.name);
}
}
Output:
Codeash.com
Types of Constructors
There are three types of constructors
1. Default constructor
यदि आप अपनी class में किसी भी constructor को implement नहीं करते हैं, तो Java compiler आपकी ओर से आपके code में एक default constructor insert करता है। इस constructor को default constructor के रूप में जाना जाता है। आप इसे अपने source code (java file) में नहीं पाएंगे क्योंकि यह compilation के दौरान code में डाला जाएगा और .class file में मौजूद है।
Example:
package com.codeash.constructorsinjava
public class ConstructorTypes
{
int defaultvalueint;
String defaultString;
public static void main(String[] args) {
System.out.println(“This is the default constructor at work. “);
ConstructorTypes object = new ConstructorTypes();
System.out.println(“The default values of int data type is “+object.defaultvalueint);
System.out.println(“The default values of the String data type is “+object.defaultString);
}
}
2. no-arg constructor
बिना किसी argument के Constructor को no-arg constructor के रूप में जाना जाता है। signature default constructor, के समान है, हालांकि body में default constructor के विपरीत कोई भी code हो सकता है, जहां constructor का body खाली है।
Example:
import java.io.*;class Codeash
{
String name;
int id;Codeash (String name, int id)
{
this.name = name;
this.id = id;
}
}class Code
{
public static void main (String[] args)
{
Codeash codeash1 = new Codeash(“adam”, 1);
System.out.println(“CodeashName :” + codeash1.name +
” and CodeashId :” + codeash1.id);
}
}
3. Parameterized Constructor
एक constructor जिसमें parameters होते हैं, “Parameterized Constructor” कहलाता है। हमारे पास एक class में multiple constructors हो सकते हैं। सभी constructors के नाम class के नाम के समान होने चाहिए। इसे overloaded किया जा सकता है।
Example:
class Student{
int id;
String name;
Student(int i,String n){
id = i;
name = n;
}
void display(){System.out.println(id+” “+name);}
public static void main(String args[]){
Student s1 = new Student(11,”Deepak”);
Student s2 = new Student(22,”Manish”);
s1.display();
s2.display();
}
}