Todos sabemos que “os mamíferos possuem muitos tipos de sons”, como: “rugido” , “uivo”, “uau”, “miau”, etc.
Portanto, quando uma classe tem muitas subclasses, e todas essas subclasses substituem um método na classe pai, quando colocamos a referência do objeto criado pela subclasse em um objeto da classe pai, obtemos o objeto upcast do objeto. Neste momento, o objeto upcast pode ter polimorfismo ao chamar este método, porque diferentes subclasses podem produzir comportamentos diferentes ao substituir os métodos da classe pai.
Por exemplo: quando o objeto transformado para cima da classe dog chama o método "bark", o comportamento gerado é "woof", enquanto quando o objeto transformado para cima da classe cat chama o método "bark", o comportamento produzido é "miau" e assim por diante.
Polimorfismo significa que quando um método da classe pai é substituído por sua subclasse, cada um pode produzir seu próprio comportamento funcional.
Por exemplo:
classe animal {voidcry(){}} classe cachorro estende animal {voidcry(){System.out.println(wangwang);}} classe gato estende animal {voidcry(){System.out.println(miaomiao);}} publicclassMain {publicstaticvoidmain(Stringargs[]){animal;animal=new dog();animal.cry();animal=new cat();animal.cry();}}
Os resultados da execução são os seguintes:
Wangwangmiaomiao