¿Cómo se usa el polimorfismo en lugar de la instancia de? (¿Y por qué?)

Si tomamos el siguiente código:

Shape p1 = new Square();
Square c1;
if(p1 instanceof Square) {
  c1 = (Square) p1;
}

¿Qué significa preferir el polimorfismo ainstanceofy, por cierto, ¿por qué es mejor?

Editar: Entiendo lo que es el polimorfismo; lo que me falta es cómo se usaría en lugar deinstanceof.

Respuestas a la pregunta(7)

Su respuesta a la pregunta