[quote=lina][quote=nel][quote=lina]Oi,
Todas as classes do projeto que estou trabalhando foram revisadas. Observei que o revisor acrescentou a quase todos os métodos o termo public final void.
Usar final em variáveis locais, ou na passagem de parâmetros tudo bem. Agora em métodos? Até onde eu sei, o final em métodos só servem para que um método da superclass não possa ser sobrescrito na classe filha. Não é?
Será que tem alguma coisa obscura nisso?
Tchauzin![/quote]
Oi lina.
Acredito que não há nada de obscuro, mas que o revisor tenha feito isso justamente para não permitir que alguém altere o comportamento de determinadas classes/métodos. Todavia, é raro eu utilizar desse modificador para métodos, para não tirar a opção de sobrescrita de classes filhas, até porque 90% desenvolvo voltado a interfaces, mas tudo bem.
Você tem acesso a esse revisor ? Talvez fosse o caso de conversar com ele e perguntar porque tantos métodos receberam este modificador.[/quote]
Oi,
Pois é. Imaginei. Ele ainda não chegou. Quero ver a resposta dele quando eu perguntar! rsrs
Tchauzin![/quote]
rs. É claro que não conheço o sistema em questão, mas não vejo motivos para usar isso “em massa”. As vezes, podemos utilizar “uma vez ou outra”, mas em grande quantidades torna-se bastante questionável a ação. Não esqueça de postar a resposta dele rs.
[quote=entanglement]Provavelmente o revisor deve ter visto que esse é uma recomendação do CheckStyle ou do PMD e não questionou os motivos.
Em particular eu acho isso péssimo, porque usar “final” não acelera o funcionamento do sistema (esse era um mito que havia a respeito do Java), e dificulta alguma correção de especificação que possa ser feita através de herança.[/quote]
Concordo. É no mínimo crítico.