क्या हो रहा है जब एक के अंदर एक सदस्य के class
रूप में घोषित किया जाता है static
..? सदस्यों को बिना इंस्टेंट किए एक्सेस किया जा सकता है class
। इसलिए बाहरी वर्ग (शीर्ष स्तरीय वर्ग) बनाने static
का कोई अर्थ नहीं है। इसलिए इसकी अनुमति नहीं है।
लेकिन आप आंतरिक कक्षाओं को स्थिर के रूप में सेट कर सकते हैं (जैसा कि यह शीर्ष स्तर वर्ग का सदस्य है)। फिर उस क्लास को टॉप लेवल क्लास को इंस्टेंट किए बिना पहुँचा जा सकता है। निम्नलिखित उदाहरण पर विचार करें।
public class A {
public static class B {
}
}
अब, एक अलग वर्ग के अंदर C
, वर्ग B
का उदाहरण दिए बिना कक्षा तक पहुँचा जा सकता है A
।
public class C {
A.B ab = new A.B();
}
static
कक्षाओं में non-static
सदस्य भी हो सकते हैं । केवल वर्ग स्थिर हो जाता है।
लेकिन यदि static
कीवर्ड को कक्षा से हटा दिया जाता है B
, तो उसे बिना किसी इंस्टेंस के सीधे एक्सेस नहीं किया जा सकता है A
।
public class C {
A a = new A();
A.B ab = a. new B();
}
लेकिन हमारे पास static
एक non-static
आंतरिक वर्ग के सदस्य नहीं हो सकते ।