Il risultato dell’utilizzo della keyword final dipende dal tipo di elemento su cui la si sta applicando:

Classi Final

Una classe dichiarata come final non può essere estesa. Ciò implica che nessuna classe può ereditare una classe final, questo è utili per impedire che una classe venga modificata attraverso l’ereditarietà.

Metodi Final

Un metodo dichiarato come final non può essere sovrascritto attraverso un @override da nessuna sotto classe.

Campi Final

Una campi dichiarato come final non può essere modificato dopo la sua assegnazione, questo significa che deve essere inizializzato al momento della dichiarazione o nel costruttore della classe.