- 1Java Exceptions
- 2Java Keywords
- 3Java abstract Keyword
- 4Java assert Keyword
- 5Java boolean Keyword
- 6Java break Keyword
- 7Java byte Keyword
- 8Java case Keyword
- 9Java catch Keyword
- 10Java char Keyword
- 11Java class Keyword
- 12Java const Keyword
- 13Java continue Keyword
- 14Java default Keyword
- 15Java do Keyword
- 16Java double Keyword
- 17Java else Keyword
- 18Java enum Keyword
- 19Java extends Keyword
- 20Java final Keyword
- 21Java finally Keyword
- 22Java float Keyword
- 23Java for Keyword
- 24Java goto Keyword
- 25Java if Keyword
- 26Java implements Keyword
- 27Java import Keyword
- 28Java instanceof Keyword
- 29Java int Keyword
- 30Java interface Keyword
- 31Java long Keyword
- 32Java native Keyword
- 33Java new Keyword
- 34Java null Keyword
- 35Java package Keyword
- 36Java private Keyword
- 37Java protected Keyword
- 38Java public Keyword
- 39Java return Keyword
- 40Java short Keyword
- 41Java static Keyword
- 42Java strictfp Keyword
- 43Java super Keyword
- 44Java switch Keyword
- 45Java synchronized Keyword
- 46Java this Keyword
- 47Java transient Keyword
- 48Java try Keyword
- 49Java void Keyword
- 50Java volatile Keyword
- 51Java while Keyword
- 52Java String Methods - Syntax and Description
- 53Java String
charAt()
method - 54Java String
codePointAt()
method - 55Java String
codePointBefore()
method - 56Java String
codePointCount()
method - 57Java String
compareTo()
method - 58Java String
compareToIgnoreCase()
method - 59Java String
concat()
method - 60Java String
contains()
method - 61Java String
contentEquals()
method - 62Java String
copyValueOf()
method - 63Java String
endsWith()
method - 64Java String
equals()
method - 65Java String
equalsIgnoreCase()
method - 66Java String
format()
method - 67Java String
getBytes()
method - 68Java String
getChars()
method - 69Java String
hashCode()
method - 70Java String
indexOf()
method - 71Java String
intern()
method - 72Java String
isEmpty()
method - 73Java String
join()
method - 74Java String
lastIndexOf()
method - 75Java String
length()
method - 76Java String
matches()
method - 77Java String
offsetByCodePoints()
method - 78Java String
regionMatches()
method - 79Java String
replace()
method - 80Java String
replaceAll()
method - 81Java String
replaceFirst()
method - 82Java String
split()
method - 83Java String
startsWith()
method - 84Java String
subSequence()
method - 85Java String
substring()
method - 86Java String
toCharArray()
method - 87Java String
toLowerCase()
method - 88Java String
toString()
method - 89Java String
toUpperCase()
method - 90Java String
trim()
method - 91Java String
valueOf()
method - 92Java ArrayList Methods - Complete Reference with Syntax and Description
- 93Java LinkedList Methods - Complete Reference with Syntax and Description
- 94Java HashMap Methods - Syntax and Descriptions
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.