Final-Keyword
The final
keyword in Java is used to impose restrictions on variables, methods, and classes.
final
keyword in Java is used to impose restrictions on variables, methods, and classes.
The final keyword can be used in all below levels:
- Variable
- Method
- Class
1. Final variable:
Once we declare a variable as a final we can't re-assign the variable's value.
Syntax:
final data_type variable_name=value;
Example:
package quipohouse;
class FinalVariable {
public static void main(String[] args) {
final int X = 5;
X=10; //gives error as re-assignment is not permitted
System.out.println(X);
}
}
Output:
5
2. Final method:
Whenever we declare a method as a final our extended or inherited class can't override it.
Syntax:
class Class_Name{
final return_type method_name(){
// code
}
}
Example:
package quipohouse;
class A {
final void finalMethod() {
System.out.println("Inside Final Method");
}
}
class B extends A {
// method overriding
final void finalMethod() { // gives compilation error as it cannot be overriden
System.out.println("Inside Final Method");
}
public static void main(String[] args) {
B b = new B();
b.finalMethod();
}
}
Output:
Error: LinkageError occurred while loading main class B
java.lang.IncompatibleClassChangeError: class B overrides final method A.finalMethod()V
3. Final class:
Whenever we declare a class as a final it can't be extended or inherited to sub-classes.
Syntax:
final class Class_Name
{
//code
}
Example:
package quipohouse;
final class A {
}
class B extends A {
//gives error as final classes cant be extended
public static void main(String[] args) {
}
}
Output:
The type B cannot subclass the final class A