Mas não continua sendo uma Conta()?
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!
Mas não continua sendo uma Conta()?
Nesse exercício, não podemos dar um new na conta pois ela é uma classe abstrata (não pode ter instancias), mas quando fazemos new Conta[10] o que estamos instanciando na realidade não é uma Conta mas sim um array de contas que pode guardar referências para ContaCorrente ou ContaPoupanca:
// Criar um array de contas é válido, pois não estamos
// instanciando uma conta.
Conta[] contas = new Conta[10];
// Ainda podemos criar variáveis do tipo conta e
// instanciar subclasses não abstratas
Conta cc = new ContaCorrente();
// podemos guardar a referência da variável cc
// no array pois ContaCorrente é uma Conta
contas[0] = cc;
// A única coisa que não podemos fazer é instanciar
// a Conta. O código abaixo gera um erro de compilação!
Conta c = new Conta();
Valeeeeu! Sanou a minha duvida!