Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Constructor in Java

 

Constructor in Java

 

What is a Constructor?

 

A constructor is a member function of a class, and its name is the same as the name of the class. When there is no constructor defined inside the class, the Java compiler provides a default constructor in the class. In Java, every class has a default constructor. The constructor has no return type. A constructor can be parameterized or overloaded.

 

 

When is a Constructor called?

 

When we use the new keyword to create an object of a class, a constructor is invoked to initialize the data members of the class. 

 

Example:

 

public class ConstructorExample {
    ConstructorExample () {
        /*
        Body of Constructor
         */
    }

    public static void main(String[] args) {
        // Invoking Constructor
        ConstructorExample obj = new ConstructorExample();
    }
    
}

 

 

Rules for Creating a Constructor

  • The constructor and class names must be the same.
  • There is no return type in a constructor.
  • Constructors in Java can never be static, final, or abstract.

 

 

Types of Constructor in Java

 

There are two types of constructors in Java.

  • No-argument or default constructor
  • Parameterized constructor

 

i) No-argument constructor

 

When a programmer does not define a constructor in the program, the java compiler creates a default constructor for the class. In Java, this constructor is referred to as the default constructor. 

 

Example:  

 

public class ConstructorExample {

    // Default Constructor
    ConstructorExample () {
        System.out.println("Coding Ninjas");
    }

    public static void main(String[] args) {
        // This would invoke Default Constructor of the class
        ConstructorExample obj = new ConstructorExample();
    }
    
}

 

Output: 

 

Coding Ninjas


 

ii) Parameterized constructor

 

A parameterized constructor is one that accepts one or more parameters. Whenever we create an object of the class with a parameterized constructor, we need to pass the argument so that the constructor gets invoked after the object creation.

 

Example:

 

public class ConstructorExample {

    // Data Memnber
    String str;

    // Parameterize Constructor
    ConstructorExample (String s) {
        str = s;
    }

    public void show() {
        System.out.println(str);
    }

    public static void main(String[] args) {
        // This would invoke Parameterize Constructor of the class
        ConstructorExample obj = new ConstructorExample("Coding Ninjas");
        obj.show();
    }
    
}

 

Output:

 

Coding Ninjas

 

 

Constructor Overloading in Java

 

In Java, constructor overloading occurs when a class has several constructors with different parameters. In constructor overloading, every constructor performs different tasks.

 

Example:

 

class Employee {

    // Data Members
    String name;
	int employeeId;
	int salary;

	// Constructor with one argument
	Employee(int eId) {
		employeeId = eId;
	}

	// Constructor with two arguments
	Employee(int eId, String s) {
		employeeId = eId;
		name = s;
	}

	// Constructor with three arguments
	Employee(int eId, String s, int sal) {
		employeeId = eId;
		name = s;
		salary= sal;
	}

	// Method to display employeeId, name, and salary
	public void show() {
		System.out.println(employeeId + " " + name + " " + salary);
	}
}

public class ConstructorOverloadingExample {
	public static void main(String args[]) {

		// Passing the values in the constructor
		Employee obj1 = new Employee(265);
		Employee obj2 = new Employee(895, "Shiv");
		Employee obj3 = new Employee(236, "Afzal", 70000);

		// Displaying the result
		obj1.show();
		obj2.show();
		obj3.show();
	}

}

 

Output: 

 

265 null 0
895 Shiv 0
236 Afzal 70000