Constructors are used to assign initial values to instance variables of the class. A default constructor with no arguments will be called automatically by the Java Virtual Machine (JVM). Constructor is always called by new operator. Constructor are declared just like as we declare methods, except that the constructor don't have any return type. Constructor can be overloaded provided they should have different arguments because JVM differentiates constructors on the basis of arguments passed in the constructor.
Whenever we assign the name of the method same as class name. Remember this method should not have any return type. This is called as constructor overloading.
We have made one program on a constructor overloading, after going through it the concept of constructor overloading will get more clear. In the example below we have made three overloaded constructors each having different arguments types so that the JVM can differentiates between the various constructors.
System.out.println("No argument are passed");
System.out.println("only one argument is passed");
abc(int i ,int j)
System.out.println("Both arguments are passed");
System.out.println("Value of a is "+a);
System.out.println("Value of b is "+b);
public static void main(String args)
abc ob1 = new abc();
abc ob2 = new abc(10);
abc ob3 = new abc(20,30);