2010-02-24 12 views
18

मैं parashift में जवाब पढ़ें लेकिन मैं क्यों संकलक अभ्यस्त निर्माता में स्थिर सदस्य चर को परिभाषित करने की अनुमति के रूप में बिट विवरण की जरूरत है मेरी स्थिर डेटा सदस्य प्रारंभ नहीं कर सकते हैं।मुझे अपने निर्माता

उत्तर की अत्यधिक सराहना की जाएगी।

धन्यवाद।

उत्तर

24

स्थिर सदस्य चर वर्ग की प्रत्येक वस्तु के साथ संबद्ध नहीं हैं। यह सभी वस्तुओं द्वारा साझा किया जाता है। यदि आप सीटीओआर में प्रारंभ करते हैं तो इसका मतलब है कि आप कक्षा के किसी विशेष उदाहरण से जुड़ने की कोशिश कर रहे हैं। चूंकि यह संभव नहीं है, इसकी अनुमति नहीं है।

5

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

हालांकि, आप यह मान असाइन (या मौजूदा मूल्य उत्परिवर्तित) निर्माता शरीर में हो सकता है। या यदि डेटा सदस्य निरंतर है, तो आप इसे कन्स्ट्रक्टर के बाहर स्थिर रूप से प्रारंभ कर सकते हैं।

0

स्थिर चर किसी भी विधि के अंदर से परिभाषित नहीं किया जा सकता है (भले ही विधि स्थिर होता है) आप फिर भी निर्माता के बाहर स्थिर चर को परिभाषित करने और निर्माता के अंदर एक मूल्य निर्दिष्ट कर सकते हैं। लेकिन ऐसा करके वैरिएबल पूरे वर्ग तक पहुंच योग्य होगा।

0

1) स्थैतिक चर वर्ग की संपत्ति और नहीं उद्देश्य है। 2) किसी ऑब्जेक्ट को बनाए जाने से पहले किसी स्थिर चर को प्रारंभ किया जाता है। जब एक वस्तु बनाई गई है

  • क्यों संकलक निर्माता के रूप में निर्माता के अंदर स्थिर चर को परिभाषित करने की अनुमति नहीं देते है कि बुलाया जाएगा।
+0

असल में, 'स्थैतिक' चर वस्तुएं स्वयं हो सकती हैं ... –

0

एक सदस्य प्रारंभिक सूची आरंभिक दर्शाती है। static सदस्य पहले से ही आपके प्रोग्राम की शुरुआत में शुरू हुआ है (main से पहले)। यदि आप जो भी सुझाव दे रहे हैं वह कर सकते हैं, तो आप static सदस्य को आपके द्वारा बनाए गए प्रत्येक ऑब्जेक्ट के साथ "पुनः प्रारंभ" कर देंगे, लेकिन ऑब्जेक्ट्स केवल एक बार आरंभ किए जाते हैं।

इसके बजाय, यदि आप किसी ऑब्जेक्ट के मूल्य को प्रारंभ करने के बाद बदलना चाहते हैं, तो आपको असाइन करना होगा।

संबंधित मुद्दे