java - जावा में एक उदाहरण और एक वर्ग(स्थिर) चर में अंतर क्या है




static instance-variables (2)

इस सवाल का शीर्षक वास्तव में एक पिछले परीक्षा प्रश्न है और मैं स्पष्टीकरण / इसके जवाब का इंतजार कर रहा हूं।

कृपया ध्यान दें कि मैं जावा सीख रहा हूं और इसके सिंटैक्स से परिचित हूं।

मैं समझता हूं कि इस सवाल से पहले पूछा जा सकता है और यदि ऐसा कोई मुझे दिखाएगा कि मैं संभवतः प्रश्न का उपयोग कैसे कर सकता हूं? अगर यह मामला है तो कृपया मेरी माफी भी स्वीकार करें। यह दिखाने के लिए कि मैं इस क्षेत्र पर शोध कर रहा हूं, मेरी खुद की समझ यह है कि उदाहरण चर एक निश्चित वर्ग (टेम्पलेट) के वस्तुओं / उदाहरणों से संबंधित होते हैं और उस आवृत्ति / ऑब्जेक्ट के भीतर और जब आवश्यक हो, परिवर्तित किया जा सकता है।

एक वर्ग वैरिएबल एक वेरिएबल है जिसमें केवल एक कॉपी है और इसका उपयोग किया जा सकता है, लेकिन संशोधित नहीं किया जा सकता (उत्परिवर्तित?), लेकिन क्या आवश्यकता के अनुसार सभी वर्गों के लिए उपलब्ध है?

क्या मैं यहां सही दिशा में चल रहा हूं?

इसके अलावा, 'स्थिर' क्या करता है? क्या क्लास का एक उदाहरण केवल स्थिर है अगर यह एक क्लास के मुख्य उदाहरण के भीतर रहता है?

बहुत धन्यवाद।


एक स्थिर चर एक मूल्य को संग्रहीत करता है जिसे क्लास के सभी उदाहरणों (या गैर-इंस्टेंस) के बीच साझा किया जाता है। जहां नाम के रूप में आवृत्ति चर प्रत्येक का एक नया प्रतिलिपि बनाते हैं। जब नया ऑब्जेक्ट बनाया जाता है


आप अपने वर्ग के कई उदाहरण बना सकते हैं जब आप एक आवृत्ति चर घोषित करते हैं, तो प्रत्येक उदाहरण को उस चर की अपनी अनूठी प्रति मिलता है। जब आप एक स्थिर वैरिएबल घोषित करते हैं, तो यह सभी आवृत्तियों के लिए एक ही वैरिएबल और मान होता है।

public class Foo
{
    public int instanceVariable;
    public static int staticVariable;
}

Foo instance1 = new Foo();
Foo instance2 = new Foo();
instance1.staticVariable = 1;
instance1.instanceVariable = 2;
instance2.instanceVariable = 3;

instance1.staticVariable == 1 // true
instance2.staticVariable == 1 // true

instance1.instanceVariable == 2 //true
instance2.instanceVariable == 3 //true




class-variables