Galera, eu tenho uma duvida que me persegue a alguns dias…
List lista = new LinkedList()
Como que uma variavel do tipo de uma
classe instancia uma classe diferente?
Carro car = new CarroFiat();
grato.
Galera, eu tenho uma duvida que me persegue a alguns dias…
List lista = new LinkedList()
Como que uma variavel do tipo de uma
classe instancia uma classe diferente?
Carro car = new CarroFiat();
grato.
isto significa que a classe LinkedList ‘implements’ List. LinkedList É-UM List.
Logo, você pode referenciar este objeto “new LinkedList()” à uma variável do tipo List.
Quando começar a enviar mensagens a este objeto ele vai se comportar como um LinkedList (implementação).
cara isso é conceito de OO (orientação a objetos) dê uma estudo em OO, polimorfimos, herança, etc.
Isso é possível se o tipo da esquerda for um supertipo ou uma interface, implementada pelo tipo da direita.
Por exemplo isso:public interface Carro {
String getNome();
}
public class CarroFiat implements Carro {
public String getNome() { return "Fiat Uno"; }
}
Carro carro = new CarroFiat();
Dê uma procurada sobre os temas de herança e polimorfismo.
http://downloads.caelum.com.br/apostila/caelum-java-objetos-fj11.pdf
Rapaiz, imagino eu que isso seja por causa de Herança…
Por exemplo, Object é a superclasse de todas as demais.
Então, o comando:
Object objeto = new String();
é um exemplo chulo, mas correto. :oops:
Dá uma procurada aki no GUJ sobre Herança, classe pai e classe filho, ok?
[]'s
Galera, eu tenho uma duvida que me persegue a alguns dias…List lista = new LinkedList()Como que uma variavel do tipo de uma
classe instancia uma classe diferente?Carro car = new CarroFiat();grato.