There are substantial differences in the appliance of the final keyword.
Appliance...
- ... to classes prohibits sub-classing (and thus, method overrides aswell)
- ... to methods prohibits method overrides
- ... to instance variables ensures immutabilityimmutability of these fields and thus also for whole objects, if specified for all, since final variables can just be written once, on construction.
Docs: