constructor overloading code example

Example 1: constructor overloading

Constructor overloading in Java is a technique of having more than
one constructor with different parameter lists. 
They are arranged in a way that each constructor performs a different task.
They are differentiated by the compiler by the number
of parameters in the list and their types.

class Student5{  
    int id;  
    String name;  
    int age;
    
    Student5(int i,String n){  
    	id = i;  					//creating two arg constructor
    	name = n;  
    }
    
    Student5(int i,String n,int a){  
    	id = i;  
    	name = n;					//creating three arg constructor    
    	age=a;  
    }  
    
    void display(){System.out.println(id+" "+name+" "+age);}  
    	public static void main(String args[]){  
    	Student5 s1 = new Student5(111,"Karan");  
    	Student5 s2 = new Student5(222,"Aryan",25);  
    	s1.display();  
    	s2.display();  
   }  
}

Example 2: Overload the default constructor to take a parameter for each attribute and set it

class StudentData
{
   private int stuID;
   private String stuName;
   private int stuAge;
   StudentData()
   {
       //Default constructor
       stuID = 100;
       stuName = "New Student";
       stuAge = 18;
   }
   StudentData(int num1, String str, int num2)
   {
       //Parameterized constructor
       stuID = num1;
       stuName = str;
       stuAge = num2;
   }
   //Getter and setter methods
   public int getStuID() {
       return stuID;
   }
   public void setStuID(int stuID) {
       this.stuID = stuID;
   }
   public String getStuName() {
       return stuName;
   }
   public void setStuName(String stuName) {
       this.stuName = stuName;
   }
   public int getStuAge() {
       return stuAge;
   }
   public void setStuAge(int stuAge) {
       this.stuAge = stuAge;
   }

   public static void main(String args[])
   {
       //This object creation would call the default constructor
       StudentData myobj = new StudentData();
       System.out.println("Student Name is: "+myobj.getStuName());
       System.out.println("Student Age is: "+myobj.getStuAge());
       System.out.println("Student ID is: "+myobj.getStuID());

       /*This object creation would call the parameterized
        * constructor StudentData(int, String, int)*/
       StudentData myobj2 = new StudentData(555, "Chaitanya", 25);
       System.out.println("Student Name is: "+myobj2.getStuName());
       System.out.println("Student Age is: "+myobj2.getStuAge());
       System.out.println("Student ID is: "+myobj2.getStuID()); 
  }
}

Example 3: Can we overload the constructors

Yes, the constructors can be overloaded by changing the number of 
arguments accepted by the constructor or by changing the data type of 
the parameters

Example 4: overloading constructors

Yes, the constructors can be overloaded by
changing the number of 
arguments accepted by the constructor
or by changing the data type of 
the parameters

Tags:

Misc Example