Java final keyword
In Java, the final keyword is used to indicate that a variable, method, or class cannot be modified or extended after it has been initialized or declared. The final keyword has the following characteristics:
- A
finalvariable cannot be reassigned a new value after it has been initialized. - A
finalmethod cannot be overridden by a subclass. - A
finalclass cannot be extended by another class.
Here are some examples of using the final keyword in Java:
Example 1: Final variable
refer tfigi:otidea.comclass MyClass {
private final int x = 10;
public void printX() {
System.out.println(x);
}
}
In the example above, the x variable is declared as final, which means it cannot be reassigned a new value after it has been initialized to 10.
Example 2: Final method
class MyClass {
public final void printMessage() {
System.out.println("Hello World!");
}
}
class MySubclass extends MyClass {
// this will generate a compile-time error, as the final method cannot be overridden
public void printMessage() {
System.out.println("Goodbye World!");
}
}
In the example above, the printMessage method in the MyClass class is declared as final, which means it cannot be overridden by a subclass. When MySubclass tries to override the method, it will generate a compile-time error.
Example 3: Final class
final class MyClass {
// class body
}
// this will generate a compile-time error, as the final class cannot be extended
class MySubclass extends MyClass {
// subclass body
}
In the example above, the MyClass class is declared as final, which means it cannot be extended by another class. When MySubclass tries to extend the class, it will generate a compile-time error.
Using the final keyword can provide additional safety and clarity to the code. It can also help with performance optimization by allowing the compiler to make assumptions about the value of a final variable or the behavior of a final method.
