Overloading, for the purpose of customizing an object at the time of creation, should be performed in the same manner as overloading a regular method:
- Java supplies a default, no-argument constructor, even if one is not created.
- If an overloaded constructor is written, the default no-argument constructor is no longer available unless hard-coded into the class definition.