Olá! Tenho na classe mãe Conta o método deposita que em tese não deveria permitir a inserção de valores negativos:
public void deposita(double valor) {
if (valor > 0) {
this.saldo += valor;
} else {
throw new RuntimeException("Erro no valor informado");
}
}
Porém, meu if não está impedindo que valores negativos sejam passados. Ao testar a classe com a seguinte chamada ao método usando a classe filha ContaPoupanca tenho como resultado o saldo negativo, quando na verdade deveria ocorrer uma Runtime Exception:
ContaPoupanca cp = new ContaPoupanca();
cp.deposita(-100);
System.out.println(cp.getSaldo());
Meu print exibe o valor -100. Não consegui entender porque o condicionante if no método deposita parece estar sendo ignorado. Alguém pode dar uma ajuda? Valeu!