Hola Kevin, deberias de usar el metodo "Override" cuando tengas una clase nueva que extienda a la clase madre y esta tenga un metodo que quieras usar pero por reglas de negocio este necesite un cambio, o simplemente quieras agregar algo adicional pero no quieres crear un metodo nuevo, asi:
Tenemos la clase madre Cuenta y tenemos el metodo Retirar
public class Cuenta {
//Atributos..
public boolean retirar(double valor) {
if (this.saldo >= valor) {
this.saldo -= valor;
return true;
}else {
System.out.println("La cantidad ingresada es superior al saldo disponible");
return false;
}
}
}
Ahora supongamos que necesitas crear una cuenta de ahorros , y por reglas de negocio se realiza un cobro adicional por retirar dinero, tranquilamente pordrias crear otro metodo que realize lo mismo y retire dinero pero le agregas el cobro adicional o la comision, pero en este caso estarias duplicando codigo, aqui es donde utilizas el override, lo que se traduce como sobreescritura, estas sobreescribiendo el metodo de retirar en vez de crear uno nuevo. quedaria asi:
public class CuentaAhorros{
@Override
public boolean retirar(double valor) {
//Se crea un nueva variable comision con el valor adicional
double comision = 0.2;
//Te devuelve el mismo metodo pero le suma el valor adicional :)
return super.retirar(valor + comision);
}
Espero haberte ayudado, aun estoy aprendiendo, asi que si me equivoque en algo, sean libres de corregirme, gracias :3