What is the final class in Java?
In Java, the final
keyword can be applied to classes, methods, and variables, and it serves different purposes in each context. When a class is declared as final
, it means that the class cannot be subclassed or extended. This is useful when you want to prevent inheritance for security reasons, to maintain immutability, or to ensure that the behavior of the class remains unchanged.
Here’s an example of a final class in Java:
public final class FinalClass {
// Class implementation
public void display() {
System.out.println("This is a final class.");
}
}
// The following code would result in a compilation error
// class SubClass extends FinalClass {
// // This will not compile
// }
In this example, FinalClass
is declared as final
, so any attempt to create a subclass (like SubClass
) will result in a compilation error.
Using final
for classes can help in designing a robust API and can also lead to performance optimizations by the Java compiler and JVM, as the final classes can be optimized more aggressively than non-final classes.