The declaration marked with final does not allow modifying or replacing its original value or definition.
The final keyword can be used in the following three contexts:
A final variable can be assigned a value only once.
The value of a final variable cannot be modified once it has been set.
A final class cannot be extended (or subclassed).
A final method cannot be redefined (overridden or hidden) in the subclasses.