देर से यहाँ की तरह, लेकिन मैं एक सटीक परिभाषा बनाने की कोशिश करना चाहता हूँ: स्थैतिक कार्य ऐसे कार्य हैं जो उदाहरण या गुणों से युक्त नहीं हो सकते हैं जिनमें शामिल वर्ग के तरीके।
कुछ भाषाओं में, C # की तरह, स्थिर कक्षाओं में स्थिर फ़ील्ड या गुण हो सकते हैं, इसलिए यह कहना ठीक नहीं है कि वे राज्य के लिए उपयोग नहीं किए जाते हैं; एक स्थिर कार्य स्थैतिक (वैश्विक) स्थिति का उपयोग कर सकता है।
मूल रूप से, यह उबलता है: स्थैतिक कार्य, जैसे कुछ भी स्थिर होते हैं, उपयोगी होते हैं जब यह उनके लिए हमेशा गैर-स्थिर उदाहरणों पर निर्भरता के साथ उपलब्ध होने के लिए समझ में आता है।
हेल्पर फ़ंक्शंस, जैसे गणित फ़ंक्शंस, एक बार-बार किए गए उदाहरण हैं, लेकिन अन्य हैं।
यदि आप जो वर्ग बनाते हैं, उसके लिए डेटा को अपरिवर्तनीय बनाने की आवश्यकता होती है, तो यह स्थिर कार्यों को बनाने के लिए समझ में आता है जो एक उदाहरण में लेते हैं और एक नया उदाहरण पास करते हैं क्योंकि उदाहरण बदल नहीं सकता है (या नहीं) बदलना चाहिए। उदाहरण के लिए, स्ट्रिंग कक्षाएं, स्टैटिक फ़ंक्शन हो सकती हैं जो एक स्ट्रिंग (या 2 या अधिक) में ले जाती हैं और एक नया स्ट्रिंग वापस करती हैं।
एक और कारण यह हो सकता है कि एक वर्ग है जो एक वैश्विक स्थिति या किसी प्रकार का डेटा रखता है। ऐसे स्थिर कार्य हो सकते हैं जो उस स्थिर वर्ग में स्थिर गुणों या क्षेत्रों के साथ काम करते हैं।