O texto afirma que eu posso utilizar o new Conta[10] que seria uma variável, porem fazendo o teste não foi possível criar Conta conta= new Conta[10].
Qual seria a diferença entre uma objeto Conta e uma variável Conta[10]?
O texto afirma que eu posso utilizar o new Conta[10] que seria uma variável, porem fazendo o teste não foi possível criar Conta conta= new Conta[10].
Qual seria a diferença entre uma objeto Conta e uma variável Conta[10]?
Oi Igor, tudo bem ?
Cara quando fazemos new Conta[10]
na verdade estamos criando na memória um espaço para 10 referências de contas, o que chamamos de array. E você não pode guardar um array em uma conta, precisa guardar essa referência num array de contas :
Conta[] contas= new Conta[10]
Olá, Igor.
Também achei o enunciado um pouco confuso mas o que o instrutor quis dizer é que é possível instanciar um array de contas mas não instanciar uma conta.
Exemplo:
Conta c = new Conta();
Não compila, pois Conta
é uma classe abstrata.
Conta[] contas = new Conta[10];
Compila, pois você não está tentando criar nenhuma Conta
, apenas reservando espaços na memória para alocar Contas(que devem ser implementações das classes concretas ContaCorrente
e ContaPoupanca
).
Obrigado pessoal.