Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में कांस्टेंट और final वेरिएबल में क्या अंतर है?

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.CONSTANTobj.variable
अपरिवर्तनीयतापूर्णनिर्माण के बाद

निष्कर्ष

Java में वास्तविक कांस्टेंट बनाने के लिए static और final दोनों का उपयोग करें।

  1. - जावा में Iterator और Enumeration के बीच अंतर

    Iterator और Enumeration दोनों कलेक्शन से एलिमेंट्स को ट्रैवर्स और एक्सेस करने के लिए कर्सर हैं। वे दोनों कलेक्शन फ्रेमवर्क से संबंधित हैं। Enumeration JDK 1.0 में जोड़ा गया था और Iterator JDK 1.2 वर्जन में कलेक्शन फ्रेमवर्क में जोड़ा गया। Enumeration कलेक्शन में स्ट्रक्चरल चेंज नहीं कर सकता क्योंकि

  1. - Java में ArrayList और HashSet के बीच अंतर

    HashSet और ArrayList दोनों Java कलेक्शन फ्रेमवर्क के सबसे महत्वपूर्ण क्लासेस में से कुछ हैं।ArrayList और HashSet के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।क्रमांकमुख्य बिंदुArrayListHashSet1कार्यान्वयनArrayList लिस्ट इंटरफेस का कार्यान्वयन है।दूसरी ओर HashSet सेट इंटरफेस का कार्यान्वयन है।2आंतरिक कार्या

  1. - Java में कॉन्स्टेंट क्या है और कॉन्स्टेंट कैसे परिभाषित करें?

    एक कॉन्स्टेंट एक वेरिएबल है जिसका मान एक बार असाइन होने के बाद बदल नहीं सकता। जावा में कॉन्स्टेंट्स के लिए बिल्ट-इन सपोर्ट नहीं है। एक कॉन्स्टेंट हमारे प्रोग्राम को दूसरों द्वारा अधिक आसानी से पढ़ा और समझा जा सकता है। इसके अलावा, एक कॉन्स्टेंट JVM के साथ-साथ हमारे एप्लिकेशन द्वारा भी कैश किया जाता