सुपर दोस्तों, मेरे पास एक साधारण, लेकिन सवाल है। जहां तक मैं समझता हूं, static
मूल रूप से इसका मतलब है कि उस वर्ग के हर एक उदाहरण के लिए, यदि हम इसे बदलते हैं, तो यह विधि वही होगी, यह उस वर्ग के हर एक उदाहरण के लिए बदल जाएगी, इसे कक्षा विधि के रूप में भी जाना जाता है। ठीक है, अगर मैं एक वर्ग को लागू करने वाली toString()
विधि एक निश्चित प्रारूप डायन है, मान लें:क्यों ToString() एक स्थिर विधि नहीं हो सकता है?
public String toString() {
return "(" + x + "," + y + ")";
}
यह के रूप में स्थिर क्यों नहीं स्थापित किया जा सकता? चूंकि यह प्रारूप उस वर्ग के हर एक उदाहरण के लिए समान होगा ...?
एक्स और वाई के बारे में सोचें। यदि वे गैर स्थैतिक क्षेत्र हैं, तो एक स्थिर विधि उन्हें एक्सेस नहीं कर सकती है। –
@ PatriciaShanahan तो आप कहते हैं कि यदि एक्स और वाई स्थिर मान थे, तो ToString() विधि स्थिर के रूप में सेट किया जा सकता है? –
'स्थिर 'की आपकी समझ थोड़ा दूर है। 'स्थिर 'का अर्थ है कि केवल एक उदाहरण बनाया गया है (कम से कम चर के लिए)। आप ऑब्जेक्ट को तुरंत चालू किए बिना 'स्थिर 'चर/विधियों तक पहुंच सकते हैं (उदाहरण के लिए' ClassName.toString() '। इसके अलावा, आपको प्रत्येक ऑब्जेक्ट के लिए एक नई विधि बनाने की आवश्यकता नहीं है; उनके सभी में एक ही विधि उपलब्ध है – Justin