This section describes about the final classes and methods in java.
Working with final classes and methods
The 'final' keyword has three uses :
First, it can be used to create a named constant. The other two uses are given below :
Using final method to prevent method overriding
Sometimes you need to prevent method overriding from occurring. For this specify 'final' as a modifier at the start of method's declaration.
Example :
class X{
final void display(){
System.out.println("Inside a final method.");
}
}
class Y extends X{
void display(){ // Error can't override.
System.out.println("Error");
}
}
Above code will give error on compilation due to final method overriding.
Using final to Prevent Inheritance
Sometimes you need to prevent a class from being inherited. For this , precede the class declaration with final. Declaring a class as final implicitly declares all of it's methods as final too ,which prevent class from being inherited.
final class X{
// .....
}
// The following class is illegal.
class Y extends X{
void display(){ // Error!! can't subclass X
System.out.println("Error");
}
}
It is illegal for Y to inherit X since X is declared as final.

[ 0 ] Comments