Answer: From a practical programming viewpoint, polymorphism exists in three distinct forms in Java:

	Method overloading 
	Method overriding through inheritance 
	Method overriding through the Java interface