Polymorphism is the ability to process objects differently on the basis of their class and data types . There are two types of polymorphism in Java: compile time polymorphism and run time polymorphism in java. This java polymorphism is also referred to as static polymorphisms and dynamic polymorphisms.