Pessoal estou fazendo um curso de Java Web e em um determinado momento aconteceu o seguinte:
1 - Foi criada uma interface e alguns métodos nela;
2 - Depois foi criada uma classe que implementava esta inteface;
3 - Mais adiante foi criada uma outra classe com referência para a interface criada no passo 1;
4 - No código da classe do passo 3 tinha uma linha assim:
interface = new Classe();
Minha dúvida é a seguinte, um objeto interface pode receber um instância de uma classe que implementou esta mesma interface? Por que? Como funciona isto?
Então, se aprofunde nos conhecimentos de orientação a objetos. Entenda os conceitos de herança e polimorfismo que vc terá todas as respostas para suas dúvidas.
É exatamente isto que aconteceu no curso e com o seu comentário agora eu compreendi.
Então quer dizer que a interface List vai me oferecer os métodos que são incomuns para List e ArrayList?
Foi isso que entendi quando se instância um objeto interface com um construtor de uma classe que implementa a interface em questão.
[quote=Mustang89]eu acho que o amigo ali quiz dizer algo como isso:
List lista = new Arraylist();
List é uma interface
e
ArrayList uma classe que implementa a inteface List
Isso é totalmente possivél como e funciona exatamente igual o Polimorfismo de classes.
Você diminui a visibilidade dos metodos do ArrayList apenas para os quais estão também citados na Interface List[/quote]