Difference Between Default constructor vs Parametrized constructor

Default constructor vs Parametrized constructor: In this article, we will list the difference between the default constructor and parameterized constructor in Java. Let us detail out the difference between the Default constructor v/s Parametrized constructor in the tabular form below.

Default Constructor vs Parametrized Constructor

 Default constructor Parameterized constructor
A constructor which takes no arguments is known as the default constructorA constructor which takes one or more arguments is known as parameterized constructor
The compiler inserts a default no-arg constructor after compilation if there is no explicit constructor defined in a classWhen the parameterized constructor is defined in a class, then the programmer needs to define default no-arg constructor explicitly if required
No need to pass any parameters while constructing new objects using the default constructorAt least one or more parameters need to be passed while constructing new objects using argument constructors
A default constructor is used for initializing objects with the same dataWhereas parametrized constructor is used to create distinct objects with different data

Example for Default constructor vs Parametrized constructor

Employee.java

package in.bench.resources.constructor.example;
public class Employee
{
    // member variables
    int employeeId;
    String employeeName;
    String employeeOrg;
    
    // default constructor
    Employee() 
   {
      // an implicit super() constructor call to java.lang.Object is always present until we specify explicitly
      System.out.println("Employee class >> Inside default constructor");
      this.employeeOrg = "Google Corporation Inc.";
       }
    
   // parametrized constructor with 2 argument (String, int)
   Employee(String name, int id) 
   {
      this(); // to invoke another constructor from same class, this() constructor is used
      System.out.println("Employee class >> Inside parametrized constructor with 1 argument (String)");
      this.employeeName = name;
      this.employeeId = id;
   }
    
   //display() method
   void displayEmployeeInfo() 
   {
      System.out.println("\nEmployee details:\n\nOrgnaization:" + employeeOrg + "\nId: "+employeeId +"\nName: " + employeeName + "\n");
   }
    
   public static void main(String args[]) 
   {
         Employee emp = new Employee("Rahul Dravid", 19);
         emp.displayEmployeeInfo();
       }
}

Output:

Employee class >> Inside default constructor
Employee class >> Inside parametrized constructor with 1 argument (String)
 
Employee details: 
 
Orgnaization: Google Corporation Inc.
Id: 19
Name: Rahul Dravid

Your comments/suggestions/feedback of Interview Questions in this post will help a lot of people in the QA community for helping them in cracking the interviews.

Avatar for Softwaretestingo Editorial Board

I love open-source technologies and am very passionate about software development. I like to share my knowledge with others, especially on technology that's why I have given all the examples as simple as possible to understand for beginners. All the code posted on my blog is developed, compiled, and tested in my development environment. If you find any mistakes or bugs, Please drop an email to softwaretestingo.com@gmail.com, or You can join me on Linkedin.

Leave a Comment