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?
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?
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).