Java Constructors

Introduction to Java Constructors

यदि आप object को use करने से पहले कुछ task perform करना चाहते है जैसे की variable को initialize करना आदि तो आप constructor create करते है। Objects को यूज़ करने से पहले जो जरुरी काम आप करना चाहते है वो सब आप constructor में कर सकते है।

उदाहरण के लिए आप जिस class का object create कर रहे है उसके variables में कोई values नहीं है। ये values आप user से object create करते समय input करवाना चाहते है। Object क्रिएट करते समय user values(arguments) pass करता है। अब आप को इन values को अपनी class के variables को assign करना है। ये काम आप constructor के through करते है।

यदि आप constructor में उन values को assign नहीं करते है तो java द्वारा default constructor call किया जाता है और सभी class member variables को initial values assign हो जाती है। Constructors java के memory allocation process का part है।

Constructor की कुछ characteristics होती है। इन्हे आप constructors क्रिएट करने के rules भी कह सकते है।

  • Constructor एक method की तरह ही होता है।
  • Constructor का नाम class के नाम जैसा ही होता है।
  • Constructor का कोई return type नहीं होता है।

Types of Java Constructors

Java में 4 तरह के constructors होते है। इन सभी के बारे में निचे दिया जा रहा है।

Default Constructor

जब आप कोई constructor create नहीं करते है तो java automatically default constructor call करती है। ये constructor सभी variables को उनके data type के according initial value के साथ memory allocate कर देता है।

Normal Constructor

ये constructor आप खुद create करते है। और इसकी body में class variables को खुद ही compile time पर initialize करते है। इसका उदाहरण निचे दिया जा रहा है।

class Person
{    
    String Name;    int age;
    Person() //Constructor   
   {     
        Name = "Vipin"      
        age = 24;    
   }

  public void display()   
  {      
       System.out.println("Name is : "+Name+" Age is : "+age);   
   }
}

class NorCon
{      
     public static void main (String args[])   
    {      
         Person p1 = new Person();   
         p1.display();   
     }
}

Parameterized Constructors

Constructors में आप parameters भी pass कर सकते है। Objects क्रिएट करते समय आप variables की value arguments की तरह pass कर सकते है। ये values आप constructor में variables को assign कर सकते है। इसका उदाहरण निचे दिया जा रहा है।

class Person
{  
  String Name;   int age;
  Person(String n , int a )
  {      
Name = n ;      
age = a ;   
}
  public void display()   
{     
System.out.println("Name is : "+Name+" Age is : "+age);
   }
 }

class ParaCon
 {   
public static void main (String args[])   
{     
Person p1 = new Person("Vipin",24 );
  p1.display();   }
}

Copy Constructor

Copy constructor को किसी object की copy करने के लिए यूज़ किया जाता है। जब आप एक object की value दूसरे object में copy करते है तो दोनों objects ही same values को point करते है। Copy constructors में आप class का object create करते समय उसी class का दूसरा object argument की तरह pass करते है।

class Person
{
    String Name;
    int age;
    Person(String n , int a )
    {
       Name = n ;
       age = a ;
    }
    Person(Person p) // Copy Constructor for p2 object
    {
      Name = p.Name;
      age = p.age;
    }

    public void display()
    {
      System.out.println("Name is : "+Name+" Age is : "+age);
    }
}
class CopyCon
{
   public static void main (String args[])
   {
      Person p1 = new Person("Vipin",age);
      Person p2 = new Person(p1);
      p1.display();
      p2.display();
   }
}