Open In App

final variables in Java

Last Updated : 23 Feb, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

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");
    }
}

Output
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.


Next Article
Article Tags :
Practice Tags :

Similar Reads