Classe Conta
public abstract class Conta {
protected double saldo;
private int agencia;
private int numero;
private Cliente titular;
private static int total;
public Conta(int agencia, int numero) {
Conta.total++;
System.out.println("Quantidade de contas ja cadastradas: "+Conta.total);
if ((agencia <= 0) && (numero <= 0)) {
System.out.println("Numero de agencia ou numero de conta invalido");
} else {
this.agencia = agencia;
this.numero = numero;
}
}
public abstract void deposita(double valor);
public boolean saque(double valor) {
if (this.saldo >= valor) {
this.saldo = this.saldo - valor;
System.out.println("Saque realizado com sucesso");
return true;
} else {
System.out.println("O valor digitado é maior do que o saldo atual "
+ "da conta");
return false;
}
}
public boolean transfere(double valor, Conta destino) {
if (this.saldo >= valor) {
destino.deposita(valor);
this.saque(valor);
System.out.println("Transferência realizada com sucesso");
return true;
} else {
System.out.println("O valor do saldo atual da conta é menor que o valor de"
+ " transferência");
return false;
}
}
public double getSaldo() {
return this.saldo;
}
public int getNumero() {
return this.numero;
}
public void setNumero(int numero) {
if (numero > 0) {
this.numero = numero;
} else {
System.out.print("Numero invalido");
}
}
public void setAgencia(int agencia) {
if (agencia > 0) {
this.agencia = agencia;
} else {
System.out.println("Numero invalido");
}
}
public int getAgencia() {
return this.agencia;
}
public void setTitular(Cliente titular) {
this.titular = titular;
}
public Cliente getTitular() {
return this.titular;
}
public static int getTotal(){
return Conta.total;
}
}
Classe ContaCorrente
public class ContaCorrente extends Conta{
int saldo = 25;
public ContaCorrente(int agencia, int numero){
super(agencia , numero);
}
@Override
public boolean saque(double valor) {
double valorASacar = valor + 0.2;
return super.saque(valorASacar);
}
@Override
public void deposita(double valor) {
this.saldo = this.saldo + valor;
}
}
Como dito anteriormente, eu tentei ver o que acontecia quando eu tentava "sobrescrever um atributo", que nesse caso e o atributo saldo, só que quando usamos esse código ,na parte do atributo aparece um aviso dizendo:"O campo oculta outro campo". Alem disso ao tentar executar o método depositar por exemplo o valor do saldo fica 0 e não sai disso. Com isso gostaria de saber por que não sai desse 0 e o por que desse aviso.