(How else could the compiler determine which method you wanted it to use?)
It is impossible for a user to construct an invalid Time.
If we put the code for setTime in the body of each of the constructors, and then had to change the implementation of "setTime", then all the constructors would need to be updated.
Factoring out common code into methods reduces the complexity of upgrading the software.