Duvida referente ao abstract (desafio 9.7 caelum) [RESOLVIDO]

Boa Tarde galera!
Tem um desafio da caelum 9.7 na parte que explica sobre classes abstratas e há uma seguinte pergunta:

  1. Não podemos dar new em Conta, mas por que, então, podemos dar new em Conta[10], por exemplo?
    se colocamos abstract na classe sabemos que não podemos instanciala e se colocar em um metodo dela seria para fazer a obrigatoriedade do método em classes filhas correto? agora por que colocando abstract na classe e instacialos como array da certo?
    Obrigado
1 curtida

O ‘new’ no caso do Array não cria uma instância de Conta, cria um Array que pode conter Contas, onde Conta pode ser uma instância de quaquer classe concreta que instancie conta.

Conta[] contas = new Conta[10]; // Array de Classe Abstrata contas[0] = new ContaCorrente(...); // Classe Concreta contas[1] = new ContaPupanca(...); // Classe Concreta

4 curtidas

poxa brother… iluminou a escuridao hahaha… entendi perfeitamente hehe… Obrigado pela excelente explicação
Valews
t+

Ahh que isso cara #tamojunto! Obrigado