Estou fazendo a apostila 26 da Caelum e apareceu uma solução bem legal para o Dao genérico, eles mandaram usar o partner method factory e ficou assim:
public static <T> Dao<T> getInstance(Session session, Class<T> classe) {
return new Dao<T>(session, classe);
}
Até ai tudo bem entendi o porque usar esse partner mas não entendi o porque no generics tive que declarar o [color=red]<T> Dao<T> [/color]como retorno(após alguns testes vi que se o método não for statico eu posso declarar simplesmente assim [color=red]Dao<T>[/color]), alguém sabe o porque disso?