Java में कांस्टेंट
एक वास्तविक कांस्टेंट है:
- अपरिवर्तनीय (
final) - क्लास-स्तरीय (
static) - प्रति JVM केवल एक प्रति - कंपाइल-समय पर आरंभ
class Data {
static final int INTEGER_CONSTANT = 20; // वास्तविक कांस्टेंट
}Final वेरिएबल
एक final इंस्टेंस वेरिएबल:
- प्रति ऑब्जेक्ट एक बार असाइन किया जा सकता है
- प्रत्येक इंस्टेंस की अपनी प्रति होती है
- कांस्टेंट नहीं है क्योंकि कई प्रतियाँ मौजूद हैं
class Data {
final int instanceFinal = 20; // प्रति ऑब्जेक्ट प्रति
}
public class ConstantExample {
public static void main(String args[]) {
Data obj1 = new Data();
Data obj2 = new Data();
System.out.println(obj1.instanceFinal); // 20
System.out.println(obj2.instanceFinal); // 20 - लेकिन अलग प्रतियाँ
}
}तुलना तालिका
| विशेषता | कांस्टेंट (static final) | Final इंस्टेंस वेरिएबल |
|---|---|---|
| मेमोरी | एक प्रति (क्लास स्तर) | प्रति इंस्टेंस एक प्रति |
| आरंभीकरण | कंपाइल-समय / स्थैतिक ब्लॉक | कंस्ट्रक्टर / इंस्टेंस आरंभीकरण |
| पहुंच | ClassName.CONSTANT | obj.variable |
| अपरिवर्तनीयता | पूर्ण | निर्माण के बाद |
निष्कर्ष
Java में वास्तविक कांस्टेंट बनाने के लिए static और final दोनों का उपयोग करें।