2010-10-16 8 views
6
public static void main(String[] args) 
{ 
    boolean t=true; 
    System.out.println("Before return"); 
    if(t) return; 
    System.out.println("not execute"); 
} 

उपरोक्त कोड में जब return का उपयोग किया जाता है तो उसे उस फ़ंक्शन पर वापस जाना चाहिए जो मुख्य कार्य को कॉल करता है। main फ़ंक्शन को वास्तव में कौन कॉल करता है?जावा में मुख्य समारोह कौन कॉल करता है?

+1

आप एक मुख्य विधि को दूसरे से कॉल कर सकते हैं साथ ही लॉन्चर इसे कॉल कर सकते हैं। –

उत्तर

10

जावा वर्गों (दूसरों के रूप में एक विशेष JVM का उल्लेख किया है) एक बड़ा संदर्भ में क्रियान्वित कर रहे हैं। नीचे कुछ संभावनाएं हैं:

सभी मामलों में main() विधि किसी विशेष श्रेणी के कोड को निष्पादित करने के लिए कैननिकल प्रविष्टि बिंदु है। java JVM पर डॉक्स से:

वर्णन

जावा उपकरण एक जावा अनुप्रयोग की शुरूआत। यह जावा रनटाइम वातावरण शुरू करके, एक निर्दिष्ट कक्षा लोड करके और उस वर्ग की मुख्य विधि का आह्वान करके करता है। विधि घोषणा निम्नलिखित की तरह लग रहे चाहिए:

public static void main(String args[]) 

विधि सार्वजनिक और स्थिर घोषित किया जाना चाहिए, यह कोई मूल्य वापस नहीं चाहिए, और यह एक पैरामीटर के रूप में एक स्ट्रिंग सरणी स्वीकार करना चाहिए। डिफ़ॉल्ट रूप से, पहला गैर-विकल्प तर्क कक्षा के नाम का आह्वान किया जाना है। एक पूरी तरह से योग्य वर्ग नाम का उपयोग किया जाना चाहिए। यदि -जर विकल्प निर्दिष्ट किया गया है, तो पहला गैर-विकल्प तर्क एक जेएआर संग्रह का नाम है जिसमें अनुप्रयोग के लिए कक्षा और संसाधन फ़ाइलें शामिल हैं, मुख्य श्रेणी के प्रकट शीर्षलेख द्वारा इंगित स्टार्टअप क्लास के साथ। बूटस्ट्रैप वर्ग पथ, स्थापित एक्सटेंशन, और उपयोगकर्ता वर्ग पथ: स्टार्टअप वर्ग के लिए

जावा रनटाइम खोज करता है, और अन्य वर्गों के स्थानों में से तीन सेटों में, इस्तेमाल किया।

वर्ग के नाम या JAR फ़ाइल नाम के बाद गैर-विकल्प तर्क मुख्य कार्य करने के लिए पारित कर रहे हैं। सिवाय javaw साथ कोई जुड़े कंसोल विंडो है कि

javaw आदेश, जावा के समान है। जब आप कमांड प्रॉम्प्ट विंडो प्रकट नहीं करना चाहते हैं तो जावा का प्रयोग करें। javaw लांचर, तथापि, त्रुटि जानकारी के साथ एक संवाद बॉक्स प्रदर्शित करेगा अगर एक प्रक्षेपण किसी कारण से विफल रहता है।

आप राज्य:

उपरोक्त कोड में जब वापसी प्रयोग किया जाता है तो यह समारोह जो मुख्य फ़ंक्शन को कॉल करने के लिए वापस चाहिए।

वहाँ नहीं (वास्तव में वहां आम तौर पर नहीं है) हो सकता है किसी भी अन्य जावा समारोह जो main() समारोह कहता है। यह एक प्रसिद्ध प्रवेश बिंदु घोषित करने के लिए सम्मेलन है। यदि JVM को आपकी कक्षा की main() विधि चलाने के लिए लॉन्च किया गया है, तो जब main() रिटर्न देता है, तो कुछ विशेष मामलों को छोड़कर, JVM बाहर निकलता है, उदा। अन्य गैर-डिमन थ्रेड चल रहे हैं या शट डाउन हुक है।

+0

मेरे कथन का आपका उद्धरण मेरे योग्यता खंड में गुम है: "कुछ विशेष मामलों को छोड़कर, उदाहरण के लिए अन्य गैर-डिमन थ्रेड चल रहे हैं या शटडाउन हुक है।" जो आपकी चिंताओं को शामिल करता है। –

17

जावा वर्चुअल मशीन।

0

JVM main() का उपयोग करता है बस सी में int main() ++ की तरह एक कार्यक्रम के लिए प्रारंभिक बिंदु के रूप।

0

उपरोक्त बयानों के साथ सहमत हैं क्योंकि जेवीएम मुख्य विधि को कॉल करता है क्योंकि यह कक्षा को निष्पादित करने के लिए लोड होने वाली किसी भी कक्षा में प्रवेश बिंदु है।

0

जेवीएम मुख्य विधि को कॉल करने के लिए मुख्य धागा शुरू करता है।

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