Java const Keyword
Usage and Examples

const Keyword in Java

When learning Java, one might stumble upon the const keyword and wonder — what does it do? Does it make a variable constant like in C++ or JavaScript? Interestingly, the const keyword exists in Java, but it behaves differently from what you might expect.

Is const used in Java?

No, the const keyword is a reserved keyword in Java, but it's not actively used in the language. That means you cannot use it as a variable name or identifier, but Java does not provide any direct functionality with it either.

It was initially reserved to possibly define constants in the early days of Java (similar to const in C/C++), but that idea was later dropped. Instead, Java provides the final keyword to declare constants.

Trying to use const results in a compile-time error

If you try to use const in your Java code, the compiler will throw an error because it's a reserved keyword. Let's see what happens:

public class Test {
    public static void main(String[] args) {
        int const = 100; // Invalid!
        System.out.println(const);
    }
}
error: not a statement
        int const = 100;
            ^

Use final instead of const in Java

To declare a constant value in Java — that is, a variable whose value cannot be changed once assigned — use the final keyword.

public class Test {
    public static void main(String[] args) {
        final int MAX_COUNT = 10;
        System.out.println("Max Count: " + MAX_COUNT);
    }
}
Max Count: 10

What happens if we try to change a final variable?

public class Test {
    public static void main(String[] args) {
        final int LIMIT = 50;
        LIMIT = 100; // Not allowed!
        System.out.println(LIMIT);
    }
}
error: cannot assign a value to final variable 'LIMIT'
        LIMIT = 100;
        ^

Comparison: const in C++ vs Java

Feature C++ Java
Keyword const final
Used for constants? Yes Use final instead
Can it be used? Yes No — reserved but not usable

Why does const exist in Java if it can’t be used?

Java inherited many syntactic elements from C and C++, and in its early stages, const was reserved to potentially behave like it does in those languages. However, the designers chose to go with final instead — perhaps to avoid confusion with pointer-level constancy in C/C++.

To this day, const remains a reserved keyword, which means it cannot be used as an identifier, but it serves no purpose otherwise.

Quick Recap

  • const is a reserved keyword in Java — you can't use it in your code.
  • It was reserved for potential future use but never implemented.
  • Use final to create constants or immutable variables in Java.

Best Practices

  • Always use final to declare constants in Java.
  • Declare constants using uppercase with underscores (e.g., MAX_SIZE) to follow Java conventions.
  • Don’t attempt to use const — it’s invalid and will cause a compile error.

Conclusion

Even though const appears in Java’s list of reserved words, it's more of a relic from early design rather than a usable feature. Stick to final for creating constants, and keep your code free from confusion.