1
resposta

Incompatibilidade de referências.

De acordo com o código abaixo: Conta cc= new ContaCorrente(22,11); guardador.adiciona(cc);

    Conta cc2=new ContaCorrente(22,22);
    guardador.adiciona(cc2);

    int tamanho=guardador.getQuantidadeDeElementos();
    System.out.println(tamanho);

     Conta ref = (conta) guardador.getReferencia(0);

     Tenho a seguinte dúvida : o meu IDE(Eclipse) está me dizendo que o método adiciona(Conta) está indefinido na classe que originou o objeto que está sendo referenciado na variável guardador. Neste objeto, a assinatura do método está desta forma: public void adiciona(Object ref)... Não entendo como o IDE está me dizendo isso, sendo que object é a referência mais genérica.
1 resposta

Isso é pq 'cc2' é do tipo Conta, não do tipo Object. Para funcionar você devia instanciar assim: Object cc2 = new ContaCorrente(22, 22);. Por mais que tudo extenda de Object, você precisa especificar do lado esquerdo de uma instanciação que você quer usar Object e não a classe específica.