Hola:
sobrecarga: en una misma clase, métodos con el mismo nombre y diferentes parámetros. No tiene nada que ver con pòlimorfismo ni sobreescritura.
sobreescribir: clase hija con exactamente el mismo método que su clase padre, aunque con código distinto.
polimorfismo. Usar la sobreescritura llamando a un método en una variable de tipo padre que realmente llama al metodo de la clase hija.
Código Java:
Ver original// clase padre con metodo()
public class Padre {
public void metodo() {
System.
out.
println("Soy Padre"); }
}
// Clase hija que sobreescribe metodo()
public class Hija extends Padre {
@Override
public void metodo() {
System.
out.
println("Soy Hija"); }
}
...
// en algún sitio.
// metodo() esta sobreescrito, pero no estamos usando polimorfismo en absoluto
Hija hija = new Hija();
hija.metodo();
// en otro sitio
// Aquí sí usamos polimorfismo, puesto que la variable es de tipo Padre y guarda una instancia de Hija
Padre padre = new Hija();
padre.metodo(); // Se llama al metodo de Hija.
Se bueno.