Is there any particular reason why Java does not allow method overriding by changing the return type of a sub-class?
Since the return type is not part of the method signa