Olá developers! Já faz algum tempo que tenho notado que a annotation @Override não funciona. Não liguei muito, afinal meu código está funcionando 100% mas me bateu uma curiosidade do porquê disso. Alguém sabe me responder? Segue código abaixo:
public class Teste {
public static void main(String[] args) {
Conta cc1 = new ContaCorrente(22, 33);
Cliente clienteCC1 = new Cliente();
clienteCC1.setNome("Nico");
cc1.setTitular(clienteCC1);
cc1.deposita(333.0);
Conta cc2 = new ContaPoupanca(22, 44);
Cliente clienteCC2 = new Cliente();
clienteCC2.setNome("Guilherme");
cc2.setTitular(clienteCC2);
cc2.deposita(444.0);
Conta cc3 = new ContaCorrente(22, 11);
Cliente clienteCC3 = new Cliente();
clienteCC3.setNome("Paulo");
cc3.setTitular(clienteCC3);
cc3.deposita(111.0);
Conta cc4 = new ContaPoupanca(22, 22);
Cliente clienteCC4 = new Cliente();
clienteCC4.setNome("Ana");
cc4.setTitular(clienteCC4);
cc4.deposita(222.0);
List<Conta> lista = new ArrayList<Conta>();
lista.add(cc1);
lista.add(cc2);
lista.add(cc3);
lista.add(cc4);
lista.sort(new Comparator<Conta>(){
// Antiga classe NumeroDaContaComparator2, porém definido como classe anônima;
@Override //não funciona
public int compare(Conta c1, Conta c2) {
return Integer.compare(c1.getNumero(), c2.getNumero());
}
}
);
Comparator<Conta> comp = new Comparator<Conta>(){
// Antiga classe NumeroDaContaComparator2, porém definido como classe anônima;
@Overrride // não funciona;
public int compare(Conta c1, Conta c2) {
String nomeC1 = c1.getTitular().getNome();
String nomeC2 = c2.getTitular().getNome();
return nomeC1.compareTo(nomeC2);
}
};
// Laço que traz as contas;
for (Conta conta : lista) System.out.println(conta + ", "
+ conta.getTitular().getNome());
}
}
Obrigado desde já! :)