The final modifier for finalizing the implementations of classes, methods, and variables.
The main purpose of using a class being declared as final is to prevent the class from being subclassed. If a class is marked as final then no class can inherit any feature from the final class.
You cannot extend a final class. If you try it gives you a compile time error.
final class Super { private int data = 30; } public class Sub extends Super{ }
C:\Sample>javac Sub.java Sub.java:7: error: cannot inherit from final Super public class Sub extends Super{ ^ 1 error