Polymorphism ("many forms") lets a single interface work with different underlying types. The same call runs different code depending on the actual object — chosen at runtime. This is subtype polymorphism.
One call, many behaviors
{ String { ; } }
{ String { ; } }
{ String { ; } }
Animal[] zoo = { (), () };
(Animal a : zoo) {
System.out.println(a.speak());
}
