Modificador FINAL?

Eu gostaria de saber quando devo usar o modificador Final ???

Muito grato. Namastê !!!

Utilize na declaração de atributos quando você quiser que o valor deles não seja alterado, ou seja, quando quiser criar constantes.

Utilize na declaração de métodos quando quiser impedir que um método seja sobrescrito por uma subclasse.

Utilize na declaração de classe quando quiser impedir que a classe seja estendida.

4 curtidas

É correto/boa prática declarar toda classe que não puder ser estendida como final?

Sim, se não deve ser estendida, deve ser final.

Eu particularmente evito usar herança de classes pois gera um acoplamento forte.
Prefiro utilizar herança de interfaces e realizar as mesmas através de composição de classes.
Você acaba escrevendo mais código, mas a manutenção fica bem mais fácil.

1 curtida

Eu também evito de usar herança de classes. Por isso me perguntei se deveria colocar final em todas.

1 curtida

Entendi.

Eu tenho o hábito de sempre pôr o final nas classes que declaro.
É muito raro eu modelar classes para serem estendidas, quando acontece, geralmente são abstract.

2 curtidas