Todos sabemos que "los mamíferos tienen muchos tipos de sonidos", tales como: "rugido", "aullido", "guau", "maullido", etc. Estos son los polimorfismos de los sonidos.
Entonces, cuando una clase tiene muchas subclases, y todas estas subclases anulan un método en la clase principal, cuando colocamos la referencia del objeto creado por la subclase en un objeto de la clase principal, obtenemos un objeto actualizado del objeto. En este momento, el objeto upcast puede tener polimorfismo al llamar a este método, porque diferentes subclases pueden producir comportamientos diferentes al anular los métodos de la clase principal.
Por ejemplo: cuando el objeto transformado de la clase perro llama al método "ladrar", el comportamiento generado es "guau", mientras que cuando el objeto transformado de la clase gato llama al método "ladrar", el comportamiento producido es "miau" y así sucesivamente.
El polimorfismo significa que cuando un método de la clase principal es anulado por su subclase, cada uno puede producir su propio comportamiento funcional.
Por ejemplo:
clase animal {voidcry(){}} clase perro extiende animal {voidcry(){System.out.println(wangwang);}} clase gato extiende animal {voidcry(){System.out.println(miaomiao);}} publicclassMain {publicstaticvoidmain(Stringargs[]){animal;animal=nuevo perro();animal.cry();animal=nuevo gato();animal.cry();}}
Los resultados de ejecución son los siguientes:
wangwangmiaomiao