In Java we use final keyword with variables to specify its values are not to be changed.
But I see that you can change the value in the constructor / methods of
Above all are correct. Further if you do not want others to create sub classes from your class, then declare your class as final. Then it becomes the leaf level of your class tree hierarchy that no one can extend it further. It is a good practice to avoid huge hierarchy of classes.