Ola pessoal… estou dando uma estudada em generics…
Tem uma coisa que não consigo entender. Onde eu trabalho na hora de criar um crud eu faço o seguinte.
Só que se eu coloco este construtor na classe persistencia ele dá erro de compilação, se eu não coloco a variável CLAZZ fica nula! Alguem pode me dar um help??
abraço a todos
o mesmo erro quando agente cria um public static void main sem o void!!
ViniGodoy
Posta o código todo aí. Sem você falar o erro, ou mostrar exatamente como está o seu programa fica difícil!
matheus306
Viny está na minha máquina da faculdade!! vou postar hoje a noite, pode ser??
mas a minha ideia mesmo era a seguinte: (eu não sei se estou viajando na maionese)
Quando eu crio uma classe que será extendida e declaro assim:
publicclassExemplo<Istoaki.>{}
Onde eu escrevi "Isto aki ", receberá este valor quando eu extendo.???
publicclassClasseFilha<EsteValor>
Se sim, este valor deve ser setado, no contrutor, em uma variável da classe?
ViniGodoy
Eu ainda não entendi exatamente o que você quer fazer.
Depois que você colocar ou código, eu vejo como sua classe estende a outra e o que você está tentando fazer. Eu tenho um DAO que ficou muito similar, e também usa generics. Mas não sei se vc está usando da mesma forma que eu, então fica difícil dizer.
matheus306
o seu DAO implementa alguns métodos que fazer a persistência certo? ele monta uma query apartir dos atributos de clarados em uma classe?
o que eu quero e fazer um dao em que eu vou montar as query’s pegando os atributos declarados na classe. Por isso a necessidade de extender e apontar a classe.
ViniGodoy
Nesse caso, você não precisa que sua superclasse seja genérica. Só que o parâmetro recebido seja:
public class Persistencia {
protected Class<?> clazz;
public Persistencia(Class<?> clazz){
this.clazz = clazz;
}
}
Aí vc usa reflection normalmente sobre o seu objeto clazz.
matheus306
Pois é!! assim até funcionou!! so que, a minha ideia é usar isto como aprendizado em generics. e também pra compreender melhor o frame que eu uso!
vc acha que assim fica legal?? Instanciando um objeto?
ViniGodoy
Você sempre vai precisar instanciar um objeto.
matheus306
Sim, mas quando eu extendo isto fica implicito? Não?!
ViniGodoy
Acho que não, hein?
Como eu falei, ficaria mais fácil ver o q vc está confundindo se tivesse um pouco mais de código.
matheus306
Blz Vinny!!
Vou mandar assim que chegar na faculdade!!!
so que, não tem muita coisa fora isto que eu postei na primeira vez não!!! Estou começando a fazer agora!!!