Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
📘 Lesson  ·  Lesson 28

static Keyword

static का क्या मतलब है

static keyword variable या method को class खुद की बना देता है, अलग objects की नहीं। Static member सारे objects द्वारा साझा होता है, और आप इसे class नाम से किसी object बनाए बिना इस्तेमाल कर सकते हैं।

💡 static = class स्तर पर एक साझा copy; non-static = हर object में अलग copy।

Static variables

class Counter {
    static int count = 0;   // सारे objects द्वारा साझा
    Counter() { count++; }  // साझा count बढ़ाता है
}
// इस्तेमाल:
new Counter(); new Counter(); new Counter();
System.out.println(Counter.count);
3

सिर्फ़ एक count है, हर object द्वारा साझा। हर नया object उसी variable को बढ़ाता है, तो यह सही गिनता है कितने बने — class नाम से access।

Static methods

class MathUtil {
    static int square(int n) {
        return n * n;
    }
}
// object बिना call:
System.out.println(MathUtil.square(5));
25

Static method class पर call होती है, object पर नहीं — MathUtil.square(5)। इसीलिए utility methods और main static हैं।

Static blocks

class Config {
    static String appName;
    static {
        appName = "CodingEasily";   // class load पर एक बार चलता है
        System.out.println("Static block ran");
    }
}
Static block ran

static { } block class पहली बार load होने पर एक बार चलता है, किसी object के मौजूद होने से पहले। यह ऐसे static variables set करने को सुविधाजनक है जिन्हें सरल value से ज़्यादा चाहिए।

static बनाम instance

बातstaticinstance
किसकाClass काहर object का
Copiesएक साझाप्रति object एक
Access viaClass नामObject
Object चाहिएनहींहाँ

static कब इस्तेमाल करें

  • साझा data जो सारे objects इस्तेमाल करें, जैसे counter या constant।
  • Utility methods जो object data पर निर्भर न हों, जैसे Math.max।
  • Constants, अक्सर static final के रूप में जोड़े।

static तब इस्तेमाल कीजिए जब कुछ पूरी class का हो, एक object का नहीं।

आम गलतियाँ

  • Static method में instance variables इस्तेमाल करना। Static method का कोई object नहीं, तो नहीं कर सकती।
  • Static variable की per-object copies की उम्मीद। सिर्फ़ एक है, सबके द्वारा साझा।
  • static का ज़्यादा इस्तेमाल। बहुत static object-oriented design तोड़ता है; साझा होने पर ही इस्तेमाल कीजिए।
  • Object से static call करना। चलता तो है पर confusing — class नाम से call कीजिए।

सारांश

  • static member को class का बनाता है, हर object का नहीं।
  • Static variable सारे objects में एक साझा copy है।
  • Static method class पर call होती है, object बिना।
  • Static block class load होने पर एक बार चलता है।
  • साझा data, utility methods और constants को static इस्तेमाल कीजिए।

आगे, visibility नियंत्रित कीजिए access modifiers से, या code व्यवस्थित कीजिए Java methods से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

Java में static keyword क्या करता है?
static variable या method को class खुद की बना देता है, अलग objects की नहीं। Static member सारे objects द्वारा साझा होता है और class नाम से, बिना object बनाए इस्तेमाल हो सकता है।
Static variable क्या है?
Static variable class के सारे objects में साझा होता है — सिर्फ़ एक copy होती है। जैसे, कितने objects बने इसका counter। किसी भी object से इसे बदलना सबको प्रभावित करता है।
static और instance members में क्या अंतर है?
Instance member हर object का होता है और हर object की अपनी copy होती है। Static member class का होता है, सारे objects द्वारा साझा, और किसी object के बनने से पहले भी मौजूद होता है।
क्या static method instance variables इस्तेमाल कर सकती है?
नहीं, सीधे नहीं। Static method का कोई ख़ास object नहीं होता, तो यह non-static (instance) variables इस्तेमाल या non-static methods object बिना call नहीं कर सकती। यह सिर्फ़ static members सीधे इस्तेमाल कर सकती है।
Static block क्या है?
Static block class पहली बार load होने पर एक बार चलता है, किसी object के बनने से पहले। यह ऐसे static variables initialise करने को इस्तेमाल होता है जिन्हें सरल value से आगे कुछ setup code चाहिए।
← Back to Java Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicthis and super आपकी प्रगति: 28 / 61 (46%) · Lesson 29 / 61 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें