Overloading in Java
Signature . The name of a constructor or method and the types of its parameters is called its signature.
Overloading. If two constructors or methods of a class have the same name, but different signatures, then the method name is said to be overloaded.
Invocation. When a method is invoked, the number of arguments and their types are used to determine the signature of the method that will be invoked.
// Each of the following constructs 1.0 + 0.0i
ml( 1.0, 0.0 ); // Invokes first constructor.
ml( 1.0 ); // Invokes second constructor.
ml( 1 ); // Invokes third constructor.
ml( 1, 0.0 ); // Invokes fourth constructor.
ml( 1.0, 0 ); // Invokes fifth constructor.
this(…) can be used in a constructor definition to invoke another constructor of the same class.