स्टैटिक मैम्बर्स (Static Members)

इन्सटैन्स मैम्बर की तुलना में स्टैटिक मैम्बर प्रत्येक आॅब्जेक्ट के लिए मेमोरी में पृथक स्थान घेरने की बजाय सभी आॅब्जेक्ट के लिए एक ही (काॅमन) होते हैं। इन्हे निम्न प्रकार से डिक्लेयर किया जाता है-

static int a;		// declaring variable
static void inc();	// declaring method

स्टैटिक मैम्बर्स, क्लास के सभी आॅब्जेक्ट्स के लिए समान रुप से उपलब्ध होते हैं, तथा इन्हे काॅल करने के लिए क्लास के नाम का प्रयोग किया जाता है।

स्टैटिक वेरिएबल्स तथा स्टैटिक मैथड्स को क्लास वेरिएबल्स तथा क्लास मैथड्स कहा जाता है। स्टैटिक मैथड्स को प्रयोग में लेने के लिए निम्न कुछ नियम होते हैं-

  • इन्हे किसी अन्य स्टैटिक मैथड द्वारा ही काॅल किया जा सकता है।
  • यह केवल स्टैटिक डेटा का ही प्रयोग कर सकते हैं।
  • इनमें this तथा super का प्रयोग नहीं किया जा सकता।

नीचे दिए गए उदाहरण में एक क्लास My में एक स्टैटिक वेरिएबल a तथा दो स्टैटिक मैथड inc( ) और show( ) बनाए गए हैं। inc( ) मैथड का कार्य वेरिएबल की वैल्यू को एक से बढ़ाना तथा मैथड show( ) का कार्य इस वेरिएबल को प्रिन्ट करना है। इस उदाहरण में हम देख सकते है कि स्टैटिक मैथड्स को काॅल करने के लिए आॅब्जेक्ट का प्रयोग नहीं कर, क्लास का प्रयोग किया गया है तथा इन मैथड्स में केवल स्टैटिक वेरिएबल का प्रयोग किया गया है।

class My
{
  static int a;
  static void inc()
  {
    a++;
  }
  static void show()
  {
    System.out.println("a = " + a);
  }
}
class Demo
{
  public static void main(String dfg[])
  {
    My.a = 34;
    My.inc();
    My.show();
    My.inc();
    My.show();
    My.inc();
    My.show();
  }
}

Output:

a = 35
a = 36
a = 37
सुझाव / कमेंट