Final-Keyword
Final Keyword
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