स्थिर तरीके और स्थिर अवरोध
स्टेटिक तरीके क्लास से संबंधित हैं और उन्हें क्लास के साथ मेमोरी में लोड किया जाएगा, आप बिना ऑब्जेक्ट बनाए उन्हें इनवाइट कर सकते हैं। (संदर्भ के रूप में वर्ग के नाम का उपयोग करते हुए)।
जबकि एक स्थिर अवरोध एक स्थिर कीवर्ड के साथ कोड का एक ब्लॉक है। सामान्य तौर पर, इनका उपयोग स्थिर सदस्यों को आरंभ करने के लिए किया जाता है। जेवीएम क्लास लोडिंग के समय मुख्य विधि से पहले स्टैटिक ब्लॉक्स को निष्पादित करता है।
उदाहरण
public class Sample { static int num = 50; static { System.out.println("Hello this is a static block"); } public static void demo() { System.out.println("Contents of the static method"); } public static void main(String args[]) { Sample.demo(); } }
आउटपुट
Hello this is a static block Contents of the static method
स्थिर ब्लॉक और स्थिर विधियों पर प्रतिबंध
स्थिर तरीके
-
आप एक स्थिर संदर्भ से एक गैर-स्थिर सदस्य (विधि या, चर) तक नहीं पहुंच सकते।
-
यह और सुपर का उपयोग स्थिर संदर्भ में नहीं किया जा सकता है।
-
स्थिर विधि केवल स्थिर प्रकार डेटा (स्थिर प्रकार आवृत्ति चर) तक पहुंच सकती है।
-
आप एक स्थिर विधि को ओवरराइड नहीं कर सकते। आप बस इसे छुपा सकते हैं।
स्थिर अवरोध
-
आप स्थिर ब्लॉक से कुछ भी वापस नहीं कर सकते।
-
आप स्पष्ट रूप से एक स्थिर ब्लॉक का आह्वान नहीं कर सकते।
-
यदि एक स्थिर ब्लॉक में अपवाद होता है, तो आपको इसे ट्राइ-कैच जोड़ी में लपेटना होगा। आप इसे फेंक नहीं सकते।
-
आप इसका उपयोग नहीं कर सकते और सुपर एक स्थिर ब्लॉक के अंदर कीवर्ड।
-
आप स्थिर ब्लॉक के मामले में गतिशील रूप से निष्पादन के क्रम को नियंत्रित नहीं कर सकते, उन्हें उनकी घोषणा के क्रम में निष्पादित किया जाएगा।