Pessoal, as classes abstratas não podem ser instanciadas certo ou pelo menos dar o new; mas se por exemplo se eu possuo um classe abstrata chamada Conta, em outra classe crio um array de conta como
até onde sei, nesse caso vc não estará criando objetos Conta, e sim um objeto array que "poderá" guardar várias referências a objetos Conta.
...como nesse caso onde vc poderá guardar referências a objetos 'é um' a objetos ContaCorrente...
publicabstractclassConta{}publicclassContaCorrenteextendsConta{/** Creates a new instance of ContaCorrente */publicContaCorrente(){}}publicclassTestaConta{publicstaticvoidmain(String[]args){Conta[]c=newConta[3];c[0]=newContaCorrente();c[1]=newContaCorrente();c[2]=newContaCorrente();}}
...que "extendem" objetos Conta e implementam seus métodos de forma concreta.
[]'s
Hebert_Coelho
Imagine uma classe abstrata como sendo uma Interface com Métodos. Por isso ela não pode ser instanciada, mas pode ser extendida.
Por isso que vc tenta new ClasseAbstrata e não funciona.
No caso do Array, o new está indo para o Array, e não para sua classe. Array também é um Objeto.