non static - Java Beginner Question : What is wrong with the code below? -
सार्वजनिक वर्ग फ़ंक्शन {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग अरिज []) {System.out.println (शक्ति ( 3,2)); Println (शक्ति (3,2)); Println (शक्ति (2)); } सार्वजनिक लार्ज पावर (इंट एम) {रिटर्न एम * एम; } सार्वजनिक लार्ज पावर (int m, int n) {लंबे उत्पाद = 1; के लिए (इंट आई = 1; आई & lt; = n; i ++) {product = product * m; } वापसी उत्पाद; }}
कंपाइलर इस त्रुटि को प्रदर्शित करता है: -
फ़ंक्शन.जावा <>: गैर-स्थिर विधि शक्ति (int, int) को एक स्थिर संदर्भ से संदर्भित नहीं किया जा सकता < / P>
[संपादित करें]
इंडेंटेन्ट चीज़ के बारे में क्षमा करें: / मैं इसे अब से ध्यान में रखूंगा।
ठीक है, मैं सिर्फ स्थिर कीवर्ड जोड़ता हूं और यह अब ठीक काम कर रहे हैं यह स्थिर कीवर्ड क्या अंतर करता है? मैं जावा के लिए एक शुरुआत कर रहा हूँ और अभी तक क्या स्थिर है के बारे में नहीं पढ़ा है मुझे यकीन है कि इसे पुस्तक के और अध्यायों में पढ़ा जाएगा, लेकिन किसी ने मुझे एक विचार दे दो कि यह क्या करता है। धन्यवाद। थंब के शॉर्टकट नियम (बिना पूर्ण पृष्ठभूमि की व्याख्या) यह है कि स्थिर तरीके / फ़ंक्शंस ' गैर स्थैतिक तरीकों / कार्यों को कॉल करें, इसलिए जो भी आप अपने मुख्य फ़ंक्शन से कॉल करना चाहते हैं उसे इसके सामने स्थिर कीवर्ड होना चाहिए। मुख्य मुद्दा यह है कि जावा एक ऑब्जेक्ट ओरिएंटेड भाषा और स्थिर बनाम है गैर-स्थिर ऑब्जेक्ट ओरिएंटेशन के पूर्व-अपेक्षित ज्ञान की काफी आवश्यकता है। जावा के नुकसान में से एक यह है कि शुरुआती इस प्रकार के कुछ हुप्स के माध्यम से कूदने की आवश्यकता होती है जैसे कि वे सीख रहे हैं, यह सब जावा की ऑब्जेक्ट-ओरिएंटेड प्रकृति से पैदा होता है और एक बार जब आप ओ ओ को समझते हैं तो यह सब कुछ गिर जाएगा भाषा डिजाइनर द्वारा किए गए फैसले जरूरी नहीं कि सबसे अच्छे हैं लेकिन वे तार्किक हैं)
मुझे आशा है कि अगर आप इस बात की प्रशंसा नहीं करेंगे कि मैं क्या स्थिर है, मैं आपको बता सकता हूं कि यह एक विशेष रूप से मुश्किल अवधारणा नहीं है, लेकिन यह केवल ओ ओ अवधारणाओं के कुछ बिल्डिंग ब्लॉकों पर निर्भर करता है और स्पष्टीकरण (मेरे द्वारा वैसे भी) पर एक समय पूर्व प्रयास आपको बंद कर सकता है।
Comments
Post a Comment