Last Updated : 23 Jul, 2025
In Java, we can use final keyword with variables, methods, and classes. When the final keyword is used with a variable of primitive data types such as int, float, etc), the value of the variable cannot be changed.
Example 1: Usage of final with primitive datatype
Java
// Java Program to illustrate Use of Final Keyword
// With Primitive Datatypes
// Main class
class GFG {
// Main driver method
public static void main(String args[])
{
// Final primitive variable
final int i = 10;
i = 30;
// Error will be generated above
}
}
Output:
Now you must be wondering what if we do use final keyword non-primitive variables, let us explore the same as we did above with the help of an example.
Note: Non-primitive variables are always references to objects in Java, the members of the referred object can be changed. final for non-primitive variables just means that they cannot be changed to refer to any other object.
Example 2: Usage of final with primitive datatype
Java
// Java Program to illustrate Use of Final Keyword
// With Primitive Datatypes
// Class 1
class Helper {
int i = 10;
}
// Class 2
// main class
class GFG {
// Main driver method
public static void main(String args[])
{
final Helper t1 = new Helper();
t1.i = 30; // Works
// Print statement for successful execution of
// Program
System.out.print("Successfully executed");
}
}
Successfully executed
Note: A final variable can't be declared inside a function, this is so because scope of local variables of a function are limited to scope of function and declaring it their will be against the principle of immutability. If program demands a constant value then the final variable should be declared at class level and may be used in function.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4