2012-11-04 16 views
5

संभव डुप्लिकेट:
Java: Static Class?क्या कक्षा को जावा में स्थैतिक के रूप में तत्काल किया जा सकता है?

एक वर्ग जावा में स्थिर के रूप में instantiated जा सकता है?

static class c1(){ 

} 

क्या यह किया जा सकता है? मैं इस के साथ उलझन में हूं और गैर स्थिर सामग्री के साथ स्मृति मैपिंग। कृपया

+1

नीचे दिखाया गया है आप इसे क्यों कोशिश मत करो स्थिर वर्ग हो सकती है? – Baz

उत्तर

2

क्या कक्षा जावा में स्थिर कीवर्ड के साथ त्वरित हो सकती है? उदाहरण: स्थैतिक वर्ग सी 1() {}

आपकी शब्दावली गलत है। "कक्षा को इंस्टेंट करना" का मतलब कक्षा का एक उदाहरण बनाना है; i.e. कोई ऑब्जेक्ट बना रहा है। यह new ऑपरेशन का उपयोग करके किया जाता है। आपका उदाहरण वास्तव में एक वर्ग घोषित कर रहा है।

ऐसा कहकर, हाँ आप static के रूप में कक्षा घोषित कर सकते हैं, लेकिन यह केवल घोंसला वाले वर्ग के लिए ही किया जा सकता है; यानी के अंदर एक वर्ग घोषित किया गया।

बजे इस के साथ भ्रमित और गैर स्थिर सामान के साथ स्मृति मानचित्रण कृपया मदद

मैं एक सुराग क्या तुम यहाँ के बारे में बात कर रहे हैं नहीं है। अगर आपको इस बिंदु पर और मदद की ज़रूरत है, तो आपको खुद को और अधिक स्पष्ट रूप से समझाएंगे।

7

कक्षा परिभाषा के साथ static का महत्व यह नहीं है कि कक्षा को तत्काल या नहीं किया जा सकता है, बल्कि क्या कक्षा को बाहरी वर्ग की गैर स्थैतिक विधि के भीतर से तुरंत चालू किया जाना चाहिए या नहीं।

गैर स्थैतिक आंतरिक वर्ग उदाहरण उन उदाहरणों से बंधे हैं जो उन्हें बनाए गए हैं - आंतरिक वर्ग उदाहरण में एक सूचक है जो बनाने के उदाहरण में वापस आता है (जो कई तरीकों से उपयोगी है)। स्टेटिक आंतरिक कक्षा के उदाहरण बनाने के उदाहरण से बंधे नहीं हैं।

(मैं के बारे में 10 साल के लिए JVM के धर्मशाला में काम किया है और मैं अभी भी इस संशय है।)

+0

"स्टेटिक आंतरिक कक्षा के उदाहरण बनाने के उदाहरण से बंधे नहीं हैं।" मुझे यही चाहिए! –

1

स्थिर स्मृति मानचित्रण के साथ कोई लेना देना नहीं है। इसका मतलब है कि इसमें कोई उदाहरण नहीं है।

static class के लिए इसका मतलब है कि कक्षा के उदाहरण बाहरी वर्ग के उदाहरण से जुड़े नहीं हैं।

0

यह प्रतिमानों को तोड़ देता है। इस पर विचार करें: स्टेटिक सदस्य सदस्य हैं कि प्रत्येक उदाहरण में आम है, लेकिन यह स्पष्ट नहीं है कि कक्षा में साझा करने के इस विचार को कैसे विस्तारित किया जाए?

आपने स्थिर कीवर्ड को क्या करने की अपेक्षा की थी?

0

आप के रूप

class A 
{ 
static class B //static inner class 
    { 
    static void dis() 
     { 
     System.out.println("this is me"); 
     } 
    } 
} 

class four extends A.B 
{ 
    public static void main(String args[]) 
    { 
    dis(); 

    } 
} 
+0

उपरोक्त xample ..an mulitple स्तर विरासत tnstantiated है ... क्या यह जावा में संभव है? –

+0

हाँ जावा में यह संभव है – Abhishekkumar

संबंधित मुद्दे

 संबंधित मुद्दे