15 de dez. de 2007

Collections + Generics

Estava estudando para a certificação SCJP, e por falar nisso é por isso que estou meio sumido...

Me deparei com uma questão no mínimo curiosa:

Se tenho uma classe Carro e outra Fusca que herda de Carro se fizer isso

ArrayList carros = new ArrayList();

Meu primeiro pensamento é que isso seria possível... Mais não é...
Depois de muito pesquisar descobri que
o conceito de herança não é aplicado na definição da lista e sim ao objetos contidos nela.. ou seja, quando setamos o generic na lista "fechamos"
a definição dela para aquele tipo de objeto, isso só em definição, por que se fizer-mos isso:

carros.add(new Fusca());

compila normal.....

Essa foi uma rapidinha... Tenho que voltar aos estudos...

Nenhum comentário: