Final Keyword in Java

The final keyword in Java is a non-access modifier that can be applied to variables, methods, and classes to indicate that they cannot be modified or overridden. It plays a crucial role in enforcing immutability and defining constant values in your code.

Key Points on the Final Keyword:

Syntax of Final Keyword:

Syntax Example

final int constantValue = 10; // Final variable
        final void myMethod() { // Final method
            // Implementation
        }
        final class MyFinalClass { // Final class
            // Class contents
        }

Example of Final Variable in Java:

This example demonstrates the use of a final variable.

Code Example: Final Variable

public class FinalVariableExample {
            public static void main(String[] args) {
                final int x = 5;
                System.out.println("Value of x: " + x);
                // x = 10; // This will cause a compilation error
            }
        }

Output

Value of x: 5

Example of Final Method in Java:

This example demonstrates a final method that cannot be overridden.

Code Example: Final Method

class Parent {
            final void display() {
                System.out.println("This is a final method.");
            }
        }
        
        class Child extends Parent {
            // void display() { // This will cause a compilation error
            //     System.out.println("Attempting to override.");
            // }
        }
        
        public class FinalMethodExample {
            public static void main(String[] args) {
                Child child = new Child();
                child.display(); // Calls the final method from Parent
            }
        }

Output

This is a final method.

Example of Final Class in Java:

This example shows how a final class cannot be subclassed.

Code Example: Final Class

final class FinalClass {
            void show() {
                System.out.println("This is a final class.");
            }
        }
        
        // class SubClass extends FinalClass { // This will cause a compilation error
        // }
        
        public class FinalClassExample {
            public static void main(String[] args) {
                FinalClass obj = new FinalClass();
                obj.show();
            }
        }

Output

This is a final class.

Detailed Explanation:

Understanding the final keyword is crucial for writing robust and maintainable Java code, particularly when working with constants and ensuring certain methods or classes remain unchanged.