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 constructor | A 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 class | When 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 constructor | At 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 data | Whereas 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.