What is the final keyword in Java?
In Java, the final keyword can be used while declaring an entity.
Using the final keyword means that the value can’t be modified in the future. This entity can be - but is not limited to - a variable, a class or a method.
Final variables
If a variable is declared with the final keyword, its value cannot be changed once initialized. Note that the variable does not necessarily have to be initialized at the time of declaration. If it’s declared but not yet initialized, it’s called a blank final variable.
Example:
// declaring a final variableclass FinalVariable {final int var = 50;var = 60 //This line would give an error}
For a final reference variable you cannot change what object it refers to. You can, however, modify the object itself.
Example:
class Reference{public int value = 5;}class frVariable {public static void FinalReference( String args[] ) {final Reference example = new Reference(); //declarationexample.value = 6; // Modifying the object creates no disturbanceReference another = new Reference();example = another; // Attempting to change the object it refers to, creates an error}}
Final parameters
If you ever see the final keyword with a parameter variable, it means that the value of this variable cannot be changed anywhere in the function.
Example:
class finalParameter {public static void example( final int parameter ) {parameter = 4; //attempting to reassign a value to a parameter throws an error}}
Final methods
A method, declared with the final keyword, cannot be overridden or hidden by subclasses.
Example:
// declaring a final methodclass Base{public final void finalMethod(){System.out.print("Base");}}class Derived extends Base{public final void finalMethod() { //Overriding the final method throws an errorSystem.out.print("Derived");}}
Final classes
A class declared as a final class, cannot be subclassed
Example:
// declaring a final classfinal class FinalClass {//...}class Subclass extends FinalClass{ //attempting to subclass a final class throws an error//...}
Free Resources