जावा में 'सार्वजनिक स्थैतिक शून्य' का क्या अर्थ है?


149

public static voidजावा में क्या मतलब है?

मैं सीखने की प्रक्रिया में हूं। मैं जिस पुस्तक से काम कर रहा हूं, उसके सभी उदाहरणों में public static voidकिसी भी विधि का उपयोग या निर्माण होने से पहले आता है। इसका क्या मतलब है?

जवाबों:


230

यह तीन पूरी तरह से अलग चीजें हैं:

publicइसका मतलब है कि यह विधि दिखाई दे रही है और इसे अन्य प्रकार की अन्य वस्तुओं से बुलाया जा सकता है। अन्य विकल्प हैं private, protected, packageऔर package-private। अधिक जानकारी के लिए यहां देखें ।

staticइसका मतलब है कि विधि वर्ग से जुड़ी है, न कि उस वर्ग का कोई विशिष्ट उदाहरण (वस्तु)। इसका मतलब यह है कि आप क्लास की एक वस्तु बनाए बिना एक स्थिर विधि कह सकते हैं।

voidइसका मतलब है कि विधि का कोई रिटर्न मूल्य नहीं है। यदि विधि लौटी intतो आप intइसके बजाय लिखेंगे void

इन तीनों का संयोजन सबसे अधिक उस mainपद्धति पर देखा जाता है जिसमें अधिकांश ट्यूटोरियल शामिल होंगे।


12
चूंकि प्रश्नकर्ता अभी भी सीख रहा है: इन खोजशब्दों का क्रम भी महत्वपूर्ण है। सभी संशोधक पहले ( publicऔर static, privateआदि) फिर रिटर्न टाइप ( voidइस मामले में)।
पिंडतजुह

1
@markbyres ठीक है मैं समझता हूं कि आप जवाब देते हैं, मुझे पता है कि मुख्य विधि स्थिर होनी चाहिए लेकिन मुझे पता नहीं है कि यह सार्वजनिक क्यों है ?? उसके लिए कोई विशेष कारण है ??
हार्डिक

9
जावा रनटाइम वातावरण को अपने आवेदन को शुरू करने के लिए मुख्य विधि को कॉल करना होगा। यह तब नहीं हो सका जब यह निजी था।
फिलिप

44

तीन शब्दों के अर्थार्थक अर्थ हैं।

public इसका मतलब है कि विधि अन्य पैकेजों में कक्षाओं से दिखाई देगी।

staticइसका मतलब है कि यह विधि एक विशिष्ट उदाहरण से जुड़ी नहीं है, और इसमें कोई " this" नहीं है। यह कमोबेश एक फंक्शन है।

voidवापसी प्रकार है। इसका अर्थ है "यह विधि कुछ भी नहीं लौटाती है"।


22

सार्वजनिक कीवर्ड एक पहुँच विनिर्देशक, जो प्रोग्रामर वर्ग के सदस्यों की दृश्यता को नियंत्रित करने की अनुमति देता है। जब कोई वर्ग सदस्य सार्वजनिक रूप से पहले होता है, तो उस सदस्य को उस वर्ग के बाहर कोड द्वारा एक्सेस किया जा सकता है जिसमें यह घोषित किया गया है। (सार्वजनिक का विपरीत निजी है, जो किसी सदस्य को उसके वर्ग के बाहर परिभाषित कोड द्वारा उपयोग किए जाने से रोकता है।)

इस मामले में, main( )सार्वजनिक रूप से घोषित किया जाना चाहिए, क्योंकि कार्यक्रम शुरू होने पर इसे अपनी कक्षा के बाहर कोड द्वारा बुलाया जाना चाहिए।

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

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


18

इसका मतलब है कि:

  • public - इसे कहीं से भी बुलाया जा सकता है
  • static - इसकी कोई वस्तु स्थिति नहीं है, इसलिए आप इसे बिना वस्तु को तुरंत बताए कॉल कर सकते हैं
  • void - यह कुछ भी वापस नहीं करता है

आपको लगता है कि वापसी की कमी का मतलब है कि यह बहुत कुछ नहीं कर रहा है, लेकिन यह डेटाबेस में चीजों को बचा सकता है, उदाहरण के लिए।


4

इसका मतलब तीन चीजों से है।

पहले का publicअर्थ है कि कोई अन्य वस्तु उस तक पहुंच सकती है।

static इसका मतलब यह है कि जिस वर्ग में यह रहता है, उसे पहले फंक्शन में बुलाया जा सकता है।

void इसका मतलब है कि फ़ंक्शन मान वापस नहीं करता है।

जब से आप सीख रहे हैं, तब तक पहले दो के बारे में चिंता न करें जब तक आप कक्षाओं के बारे में नहीं सीखते हैं, और तीसरा तब तक बहुत ज्यादा नहीं होगा जब तक कि आप कार्य करना शुरू नहीं करते (मुख्य के अलावा अन्य)।

कार्यक्रम के लिए सीखने के दौरान मुझे मिली सलाह का सबसे अच्छा हिस्सा, और जो मैं आपके साथ गुजरता हूं, आपको उन छोटे विवरणों के बारे में चिंता नहीं है जिन्हें आप तुरंत नहीं समझते हैं। मूल सिद्धांतों का व्यापक अवलोकन करें, फिर वापस जाएं और विवरणों के बारे में चिंता करें। कारण यह है कि आपको public static voidअपने पहले कार्यक्रमों में कुछ चीजों (जैसे ) का उपयोग करना होगा जो कि आपको पहले अन्य सामान के बारे में सिखाए बिना अच्छी तरह से समझाया नहीं जा सकता है। तो, फिलहाल, बस स्वीकार करें कि यह जिस तरह से किया गया है, और आगे बढ़ें। आप उन्हें जल्द ही समझ जाएंगे।


3

विशिष्ट शीर्ष-स्तरीय वर्ग को ध्यान में रखते हुए। केवल सार्वजनिक और कोई संशोधक पहुंच संशोधक का उपयोग शीर्ष स्तर पर नहीं किया जा सकता है, इसलिए आप या तो सार्वजनिक देखेंगे या आप किसी भी पहुँच संशोधक को नहीं देखेंगे।

`स्टेटिक`` का उपयोग किया जाता है क्योंकि आपको शीर्ष स्तर पर एक वास्तविक ऑब्जेक्ट बनाने की आवश्यकता नहीं हो सकती है (लेकिन कभी-कभी आप ऐसा करना चाहते हैं ताकि आप हमेशा स्थैतिक को देख / उपयोग नहीं कर सकें। अन्य कारण हैं कि आप स्थैतिक को शामिल नहीं करेंगे। भी लेकिन यह शीर्ष स्तर पर विशिष्ट है।)

voidउपयोग किया जाता है क्योंकि आमतौर पर आप शीर्ष स्तर (वर्ग) से एक मान नहीं लौटाने वाले हैं। (कभी-कभी आप एक ऐसे मूल्य को छोड़ना चाहते हैं, NULLजिससे शून्य का उपयोग हमेशा विशेष रूप से उस स्थिति में न किया जा सके जब आपने घोषित किया हो, किसी वस्तु को शीर्ष स्तर पर आरंभीकृत किया हो जिसे आप कुछ मान दे रहे हैं)।

डिस्क्लेमर: मैं खुद नौसिखिया हूं इसलिए अगर यह जवाब किसी भी तरह से गलत है तो कृपया मुझे फांसी न दें। दिन तक मैं एक टेक रिक्रूटर हूं, डेवलपर नहीं; कोडिंग मेरा शौक है। इसके अलावा, मैं हमेशा रचनात्मक आलोचना और प्रेम करने के लिए खुला हूँ ताकि किसी भी त्रुटि को इंगित करने के लिए स्वतंत्र महसूस करें।


2
  • public इसका मतलब है कि आप क्लास / ऑब्जेक्ट या पैकेज या क्लास के बाहर कहीं से भी क्लास एक्सेस कर सकते हैं
  • static इसका मतलब है कि केवल 1 बार इस्तेमाल किए जाने वाले बयान का ब्लॉक
  • void कोई वापसी प्रकार का मतलब है

6
यह प्रश्न पर्याप्त रूप से कवर किया गया है, शायद पुराने प्रश्नों का उत्तर देने के बजाय नए प्रश्नों का उत्तर देने का प्रयास करें। धन्यवाद।
केव

यह हाथी के बारे में समझाने जैसा है। लोग यह समझाने की कोशिश करते हैं कि वह कहां खड़ा है, इस पर निर्भर है। मैं उपरोक्त सभी उत्तरों से खुश हूं, लेकिन आश्चर्य होता है कि कोई भी "एक किताब जावा खरीदें" कैसे कह सकता है।
Sulung Nugroho

2

Public - इसका मतलब है कि वर्ग (कार्यक्रम) किसी अन्य वर्ग द्वारा उपयोग के लिए उपलब्ध है।

Static- एक वर्ग बनाता है। चर और विधियों के लिए भी लागू किया जा सकता है, उन्हें वर्ग विशेष के उदाहरण के बजाय केवल स्थानीय के बजाय वर्ग विधि / चर बना सकते हैं।

Void- इसका मतलब है कि जब क्लास प्रोसेसिंग पूरी करता है तो कोई भी उत्पाद वापस नहीं किया जाता है। सहायक वर्गों के साथ इसकी तुलना करें जो मुख्य वर्ग को वापसी मूल्य प्रदान करते हैं, ये कार्यों की तरह काम करते हैं; ये घोषणा में शून्य नहीं हैं।


0

staticइसका मतलब है कि विधि वर्ग से जुड़ी है, न कि उस वर्ग का कोई विशिष्ट उदाहरण (वस्तु)। इसका मतलब यह है कि आप क्लास की एक वस्तु बनाए बिना एक स्थिर विधि कह सकते हैं। के उपयोग की वजह सेstatic कीवर्डmain() कारण आपका पहला तरीका लागू किया जाता है .. staticउदाहरण के लिए किसी भी ऑब्जेक्ट की आवश्यकता नहीं है ... इसलिए, main( )किसी भी ऑब्जेक्ट के बनने से पहले जावा दुभाषिया द्वारा कॉल किया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.