Java / Inheritance
Benefits of covariant return type in Java.
It eliminates unnecessary downcasting from the super type to the subtype. For example object clone method can be overriden by implementing Clonable interface and the implementing class return the object of its own type while the object clone method returns object type.
More Related questions...