नहीं, केवल final कीवर्ड Java में वास्तविक कांस्टेंट नहीं बनाता। एक कांस्टेंट के लिए आवश्यक है:
- static - क्लास-स्तरीय, एक प्रति प्रति JVM
- final - अपरिवर्तनीय मान
final इंस्टेंस वेरिएबल प्रत्येक ऑब्जेक्ट के लिए एक प्रति बनाता है, जो कांस्टेंट की परिभाषा का उल्लंघन करता है।
उदाहरण: केवल final (कांस्टेंट नहीं)
class Data {
final int value = 20; // इंस्टेंस फाइनल
}
public class ConstantExample {
public static void main(String args[]) {
Data obj1 = new Data();
Data obj2 = new Data();
System.out.println(obj1.value); // 20
System.out.println(obj2.value); // 20 - लेकिन अलग मेमोरी स्थान
}
}उदाहरण: static + final (वास्तविक कांस्टेंट)
class Data {
static final int CONSTANT = 20; // वास्तविक कांस्टेंट
}
public class ConstantsExample {
public static void main(String args[]) {
System.out.println(Data.CONSTANT); // 20 - क्लास के माध्यम से एक्सेस
}
}नामकरण परंपरा
कांस्टेंट के लिए UPPER_SNAKE_CASE का उपयोग करें (उदाहरण: MAX_SIZE, DEFAULT_TIMEOUT)।