Friday 15 February 2013

Java static initialization behaviour -


  सार्वजनिक वर्ग हैलो {सार्वजनिक स्थिर अंतिम हैलो है एच = नया हैलो (); स्थिर इंट I = 5; Int j = i; निजी शून्य प्रिंट () {System.out.println (i + "," + j); } सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {h.print (); }}   

यह कोड आउटपुट 5, 0 है। यदि कारण क्लासिक लोड पहले वर्ग में है और मैं आरम्भिक है और जम्मू नहीं है। लेकिन अगर मैं भी स्थिर से I

  सार्वजनिक वर्ग हैलो {सार्वजनिक स्थिर अंतिम हैलो है एच = नया हैलो (); Int i = 5; Int j = i; निजी शून्य प्रिंट () {System.out.println (i + "," + j); } सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {h.print (); }}   

अब क्यों 5,5 उत्पादन है तो जब मैं और जे आरंभ होता है। कृपया कारण बताएं।

स्थैतिक ब्लॉक क्रम में क्रियान्वित किया जाता है।

आप पहली बार इस बिंदु पर i = 0 हैलो ऑब्जेक्ट बनाते हैं, क्योंकि यह सेट नहीं किया गया है।

इसके बाद ही यह i = 5

आपको स्थिर बयानों को ऊपर से नीचे तक पढ़ना होगा।

No comments:

Post a Comment