Final is used to apply restrictions on class, method, and variable.
The final class can't be inherited, final method can't be overridden,
and final variable value can't be changed. Final is a keyword
First of all, final is a non-access modifier applicable only to
a variable, a method or a class
When a variable is declared with final keyword, its value can’t be modified,
essentially, a constant. This also means that you must initialize a
final variable. If the final variable is a reference, this means that
the variable cannot be re-bound to reference another object, but internal
state of the object pointed by that reference variable can be changed
i.e. you can add or remove elements from final array or final collection.
It is good practice to represent final variables in all uppercase, using
underscore to separate words.
class Main {
public static void main(String[] args) {
// create a final variable
final int AGE = 32;
// try to change the final variable
AGE = 45;
System.out.println("Age: " + AGE);
}
}
public static final String Name = "Jeff";
class scratch{
public static void main(String[] args){
final pi = 3.14;
}
}
// create a final class
final class FinalClass {
public void display() {
System.out.println("This is a final method.");
}
}
// try to extend the final class
class Main extends FinalClass {
public void display() {
System.out.println("The final method is overridden.");
}
public static void main(String[] args) {
Main obj = new Main();
obj.display();
}
}