Se por algum motivo eu quiser usar o método geral, ao inves de, usar o metodo que usei com o @Override. Como eu faria isso na minha main?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Se por algum motivo eu quiser usar o método geral, ao inves de, usar o metodo que usei com o @Override. Como eu faria isso na minha main?
Boa tarde Paulo,
Até onde eu sei isso não é possível. Quando fazemos o override de um método o original fica inacessível para a classe filha, afinal esse método foi reescrito para que tenha um comportamento diferente.
Mas se você realmente quiser que a sua classe filha tenha acesso ao método original você tem algumas alternativas.
Você poderia fazer a sobrecarga( mesmo método com parâmetros diferentes) desse método e reescreve-lo na classe filha. Não é um método muito bom, porquê você está duplicando código.
O ideal mesmo seria avaliar a modelagem das suas classes e verificar se a classe filha realmente precisa ter acesso ao método reescrito e o original. Se for este o caso acho que vale mais a pena criar uma interface.
Abraços
chama o super() da classe mãe caso herança. Interface é boa prática a sobrescrita, mas se não for um método default da interface, não existirá implementação no código.
Acho que não me expressei muito bem... O que eu quero dizer está um pouco mais claro nessa AULA.
Quando a gente faz algo do tipo:
ContaCorrente cc = new ContaCorrente(22, 33);
System.out.println(cc);
Um metodo toString() que está na class OBJECT retorna o seguinte valor:
br.com.bytebank.banco.modelo.ContaCorrente@3abfe836
Agora eu sobrescrevi esse método na minha classe CONTACORRENTE:
@Override
public String toString() {
return "ContaCorrente: " + super.getNumero();
}
Agora quando eu uso o System.out.println(cc). O metodo to.String() da classe CONTACORRENTE retorna esse valor:
ContaCorrente: 33
Minha pergunta é: como eu faço em vez de retornar o valor que foi sobrescrito, obter o valor do metodo que está na classe OBJECT?
Ou Seja, eu consiga resgatar o valor,
br.com.bytebank.banco.modelo.ContaCorrente@3abfe836
do metodo sobrescrito.