Você leu a especificação dessas anotações ?
Eu conheço elas mas não sei se ela são passíveis de serem estendidas.
Mas estamos falando em EJB ? Não né ?
yurifw
chamar esse metodo no construtor da classe A nresolve seu problema n?
pq sempre que uma classe é instanciada, o construtor é chamado, e o metodo construtor sempre chama os construtores das superclasses, por exemplo, qdo vc instanciar a classe B ocorreria isso:
o construtor de B é execuatdo, ele chama o construtor de A e o construtor de A chama o construtor de Object, o construtor de Object é executado, volta para o construtor de A e quando ele terminar de executar, o construtor de B é executado
Rodrigo_Sasaki
Só uma pergunta, você já testou pra ver se isso funciona?
Rodrigo_Sasaki
yurifw:
chamar esse metodo no construtor da classe A nresolve seu problema n?
pq sempre que uma classe é instanciada, o construtor é chamado, e o metodo construtor sempre chama os construtores das superclasses, por exemplo, qdo vc instanciar a classe B ocorreria isso:
o construtor de B é execuatdo, ele chama o construtor de A e o construtor de A chama o construtor de Object, o construtor de Object é executado, volta para o construtor de A e quando ele terminar de executar, o construtor de B é executado
O problema de usar o construtor é que quando ele é executado, nenhuma dependência foi injetada ainda.
nel
yurifw:
chamar esse metodo no construtor da classe A nresolve seu problema n?
pq sempre que uma classe é instanciada, o construtor é chamado, e o metodo construtor sempre chama os construtores das superclasses, por exemplo, qdo vc instanciar a classe B ocorreria isso:
o construtor de B é execuatdo, ele chama o construtor de A e o construtor de A chama o construtor de Object, o construtor de Object é executado, volta para o construtor de A e quando ele terminar de executar, o construtor de B é executado
Tem certeza ? Você disse "sempre". O que ocorre nesse caso:
chamar esse metodo no construtor da classe A nresolve seu problema n?
pq sempre que uma classe é instanciada, o construtor é chamado, e o metodo construtor sempre chama os construtores das superclasses, por exemplo, qdo vc instanciar a classe B ocorreria isso:
o construtor de B é execuatdo, ele chama o construtor de A e o construtor de A chama o construtor de Object, o construtor de Object é executado, volta para o construtor de A e quando ele terminar de executar, o construtor de B é executado
Tem certeza ? Você disse "sempre". O que ocorre nesse caso:
acredito q n compilaria, pq a classe B tentaria chamar um construtor sem argumento, nesse caso como a classe A so tem um construtor que pede um int vc tem q especificar isso e criar um construtor no B que passa um int:
public B{
super(2);
}
acho q seria isso :P
mas de qualquer jeito ele tentaria chamar o construtor, so q n conseguiria ai vc teria q chamar manualmente não é?
nel
yurifw:
nel:
yurifw:
chamar esse metodo no construtor da classe A nresolve seu problema n?
pq sempre que uma classe é instanciada, o construtor é chamado, e o metodo construtor sempre chama os construtores das superclasses, por exemplo, qdo vc instanciar a classe B ocorreria isso:
o construtor de B é execuatdo, ele chama o construtor de A e o construtor de A chama o construtor de Object, o construtor de Object é executado, volta para o construtor de A e quando ele terminar de executar, o construtor de B é executado
Tem certeza ? Você disse "sempre". O que ocorre nesse caso:
acredito q n compilaria, pq a classe B tentaria chamar um construtor sem argumento, nesse caso como a classe A so tem um construtor que pede um int vc tem q especificar isso e criar um construtor no B que passa um int:
public B{
super(2);
}
acho q seria isso :P
mas de qualquer jeito ele tentaria chamar o construtor, so q n conseguiria ai vc teria q chamar manualmente não é?
Sim, não compila. Só que eu acho que o nosso colega ainda está querendo trabalhar com EJB´s.
Mas vamos aguardar o que ele vai comentar.
Isto é bom porque a notação só precisa ser usada uma vez no pai (onde ela deveria existir conceptualmente. Os métodos dos filhos são protected, logo não precisam de anotações.
Eu coloquei só um metodo, mas o init() pode chamar quandos métodos abstratos quiser.
O Template Method é exactamente para estes cenários onde ha um fluxo definido, mas os detalhes dependem da implementação de filhos. Mas o método init, já dá um “template” de comoo fluxo irá acontecer.