2013-04-26 3 views
5

मुझे पता है कि मुख्य विधि स्थिर क्यों है। यदि यह स्थैतिक है तो उस वर्ग को JVM द्वारा तुरंत चालू करने की आवश्यकता नहीं है। वस्तु के बिना हम इसे बुला सकते हैं। लेकिन स्थैतिक विधि को कॉल करने के लिए ऑब्जेक्ट की आवश्यकता क्यों नहीं है?हमें स्थैतिक विधि के लिए ऑब्जेक्ट बनाने की आवश्यकता क्यों नहीं है?

क्या कोई भी कृपया समझा सकता है?

+1

क्योंकि ... कीवर्ड 'स्थिर' का अर्थ यही है?चूंकि एक विधि 'स्थिर' लेबलिंग स्पष्ट रूप से बताती है कि आप इसे किसी विशिष्ट ऑब्जेक्ट से नहीं चाहते हैं? –

+1

क्योंकि हमारे पास कक्षा वस्तु है। – StarPinkER

उत्तर

0

सदस्य चर और विधियों के लिए ऑब्जेक्ट की आवश्यकता है लेकिन स्थैतिक अनुप्रयोग चर है या इस कारण से कार्य करें कि स्थिर के लिए ऑब्जेक्ट की आवश्यकता क्यों नहीं है।

0

देखें क्योंकि JVM आप के लिए विधि कॉल कर सकते हैं (लेकिन यह फिट देखता है)। अन्यथा, खरगोश छेद कहाँ समाप्त होगा? वे interface बनाकर, main विधि के साथ स्वयं को जो भी सुझाव दे रहे हैं, वह कर सकते थे। उदाहरण के लिए:

interface ApplicationStarter 
{ 
    void start(String []args); 
} 

लेकिन फिर कन्स्ट्रक्टर से संबंधित चिंताएं हैं। कई ढांचे मौजूद हैं जो एसपीआई जैसी समान समस्याओं में भाग लेते हैं, जिन्हें समान कारणों से डिफ़ॉल्ट (नो-एर्ग) कन्स्ट्रक्टर की आवश्यकता होती है। इस तरह के ढांचे विफल होते हैं जब उनकी पूर्व-ज्ञात आवश्यकताएं (उदा।, नो-एर्ग कन्स्ट्रक्टर या शायद कुछ अन्य ढांचे के लिए Serializeable नहीं), और शुरुआती लोगों को यह मुश्किल लगता है। "जटिल" एप्लिकेशन का सबसे बुनियादी हिस्सा बनाना गोद लेने के लिए एक अच्छा तरीका नहीं है।

एक आवेदन शुरू करने/प्रविष्टि बिंदु के लिए, एक ज्ञात प्रविष्टि बिंदु (main) पर निर्भर होना कहीं अधिक आसान है जो व्यावहारिक रूप से हर दूसरी भाषा के समान है: ऑब्जेक्ट के निर्माण या ओवरराइडिंग के बारे में कोई चिंता नहीं।

0

main() विधि स्थैतिक है क्योंकि उन्हें रनटाइम इंजन द्वारा अभिभावक वर्ग के उदाहरण को तत्काल किए बिना बुलाया जा सकता है।

Static विधियों, जो उनकी घोषणाओं में स्थिर संशोधक है, वर्ग

4

का उदाहरण बनाकर इस उदाहरण पर विचार की आवश्यकता के बिना, वर्ग के नाम के साथ लागू किया जा चाहिए, वहाँ है एक परिवार एक माँ युक्त और तीन बच्चे। मां प्रत्येक बच्चे को तीन आइसक्रीम शंकु लाती है, लेकिन सभी तीन बच्चों के लिए केवल एक पीएसपी लाती है। सभी बच्चे एक ही पीएसपी का उपयोग करते हैं लेकिन उनके पास अपनी आइस क्रीम हैं।

यहां आइसक्रीम एक स्थैतिक चीज (विधि/चर) है, पीएसपी स्थिर बात है, मां कक्षा है, बच्चे वस्तुएं हैं।

यह बहुत आसान है। स्टेटिक एक वर्ग से संबंधित है, यह कक्षा की सभी वस्तुओं के लिए आम है। गैर स्थैतिक चीजें वस्तु विशिष्ट हैं।

0

हाँ आप सही हैं कि आपको किसी वर्ग की स्थैतिक विधि को कॉल करने के लिए किसी इंस्टेंस ऑब्जेक्ट की आवश्यकता नहीं है, क्योंकि स्थैतिक विधियां कक्षा के अंतर्गत होती हैं, न कि उस वर्ग के उदाहरण के लिए। साथ ही, आप स्थैतिक विधि के अंदर आवृत्ति चर का उपयोग नहीं कर सकते हैं क्योंकि आवृत्ति चर उदाहरण के हैं।

0

जब हम जावा फ़ाइल निष्पादित करते हैं, तो जावा कंपाइलर लोड होता है और स्थिर सदस्य को स्वचालित रूप से निष्पादित करता है।

मैं जावा में नया हूं इसलिए कृपया मेरा जवाब गलत होने पर मुझे क्षमा करें।

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