परिचय
स्टैटिक क्लास (static class) को इंस्टेंशिएट नहीं किया जा सकता और इसमें केवल स्टैटिक सदस्य हो सकते हैं। यह सील्ड (sealed) होती है, यानी इससे इनहेरिट नहीं किया जा सकता, और इसमें इंस्टेंस कंस्ट्रक्टर नहीं हो सकते।
विशेषताएं
- केवल स्टैटिक सदस्य (फ़ील्ड, मेथड, प्रॉपर्टी, इवेंट)।
- इंस्टेंस नहीं बनाया जा सकता (
new StaticClass()अमान्य)। - सील्ड होती है (इनहेरिटेंस नहीं)।
- स्टैटिक कंस्ट्रक्टर हो सकता है।
उदाहरण
using System;
public static class Demo
{
public static float PI = 3.14f;
public static int Calc(int n) { return n * n; }
}
class Program
{
public static void Main(string[] args)
{
// क्लास नाम से सीधे एक्सेस
Console.WriteLine("PI: " + Demo.PI);
Console.WriteLine("Square: " + Demo.Calc(3));
}
}
उपयोग केस
- यूटिलिटी/हेल्पर क्लास (जैसे
Math,Console)। - एक्सटेंशन मेथड कंटेनर।
- ग्लोबल कॉन्स्टेंट या कॉन्फ़िगरेशन।
नोट
स्टैटिक क्लास के सभी सदस्य भी स्टैटिक होने चाहिए। इंस्टेंस सदस्य घोषित करने पर कंपाइल-टाइम एरर होगा।