The concept of constructor overloading in Java is a technique in which a single class can have a number of constructors that differ in the parameter list. The compiler differentiates the constructors by taking into consideration the number of parameters in the list and their type.
Constructors in java are a special type of method used for the initialization of an object. The constructor is invoked at the time of object creation. Constructors in Java can be overloaded. The programmer can create as many constructors in a class as desired. Constructor overloading is useful when the programmer wants the object to be created with different parameters upfront.
There are two methods by which the Java constructor can be overloaded. One method is to give the new constructor a different number of parameters. Another approach is to give the new constructor at least one parameter having a different type value. The programmer should ensure that the constructor name is the same as the class name, and the constructor should not have a return type.
There is a restriction on such overloading. The constructors can be overloaded only in a manner that allows calls to the constructors to be resolved by the compiler. When an overloaded constructor is invoked, the compiler should be able to conclude which of the overloaded constructor to call by checking the arguments.