Interface do Java

4 respostas
ricardocomp

Olá Galera,
eu ñ consegui enteder
direito muito bem
JAAFSession é uma interface

JAAFSession session = user.getSession();

nessa linha de código eu crio uma sessão
e pego a sessão do usuário, uma coisa q eu
ñ entendi é se session vai ser um objeto
de uma interface?
Porque quando eu tenho um objeto de uma classe tudo
bem, mas um objeto de uma interface
eu ñ sei se é isso msm?

Será q alguém poderia me ajudar com está dúvida?

[]`s

4 Respostas

M

Na verdade não é um objeto da interface, e sim um objeto de uma CLASSE que IMPLEMENTA a interface. Por exemplo:

List <Object> = new ArrayList<Object>(); // não instancio a interface e sim uma classe que a implementa
T

Para começar, não existe um “objeto de uma interface”. Todo objeto pertence a uma classe, e esta implementa zero ou mais interfaces.

Quando você tem uma variável cujo tipo é uma determinada interface (exemplo: javax.servlet.ServletRequest), você pode atribuir a essa variável uma referência a um objeto que pertence a uma classe que implementa essa interface (por exemplo, um objeto que pertence à classe org.apache.tomcat.catalina.HttpServletRequestImplementation ou coisa parecida.)

Mas a variável não precisa saber qual é a classe certa desse objeto; só precisa saber se o tal objeto pertence a uma classe que implementa essa interface, para chamar apenas os métodos descritos nessa interface. OK?

ricardocomp

Valeu e muito obrigado pela ajuda
marco e thingol agora ficou mais
claro o entendimento.

Abraços.

T

Uma coisa que se confunde muito é um objeto com uma variável.

Em Java não podemos confundir objetos com variáveis, sob pena de nunca realmente conseguirmos aprender a programar Java.

A regra é: Variáveis contém referências a objetos, e um mesmo objeto pode ser referido por várias variáveis, que podem ser ou não do mesmo tipo (classe ou interface).

Criado 12 de janeiro de 2009
Ultima resposta 12 de jan. de 2009
Respostas 4
Participantes 3