स्टैटिक ब्लॉक के निष्पादन से पहले ही क्लास लोडिंग के समय एक स्टैटिक वेरिएबल बन जाता है और स्टैटिक ब्लॉक का उद्देश्य स्टैटिक वेरिएबल्स को वैल्यू असाइन करना होता है। एक स्थिर चर उस मान को संग्रहीत करता है जिसे उस वर्ग के सभी उदाहरणों के बीच साझा किया जाता है जिसमें इसे परिभाषित किया जाता है और एक स्थिर ब्लॉक कोड का एक खंड होता है जिसे कक्षा पहली बार लोड होने पर निष्पादित किया जाता है। यदि हम चाहते हैं कि कोई लॉजिक क्लास लोडिंग के समय निष्पादित किया जाए तो उस लॉजिक को स्टैटिक ब्लॉक के अंदर रखना होगा ताकि क्लास लोडिंग के समय इसे निष्पादित किया जा सके।
JVM कक्षा में स्थिर सदस्यों को पढ़ने के लिए नीचे दिए गए चरणों का पालन करता है::
- ऊपर से नीचे तक स्थिर सदस्यों की पहचान
- स्थिर चर असाइनमेंट और ऊपर से नीचे तक स्थिर ब्लॉक का निष्पादन।
- मुख्य विधि का निष्पादन।
उदाहरण
public class StaticFlow { static int firstNumber = 10; static { firstMethod(); System.out.println("first static block"); } public static void main(String[] args) { firstMethod(); System.out.println("main method executed"); } public static void firstMethod() { System.out.println(secondNumber); } static { System.out.println("second static block"); } static int secondNumber = 20; }
आउटपुट
0 first static block second static block 20 main method executed