Polymorphism means that any child class object can take any form of a class in its parent hierarchy and of course itself as well.
Pragmatically, in java polymorphism means that when a method is declared in a superclass and is overridden in a subclass, the subclass method takes precedence without casting reference to a specific subclass type.