एक वर्ग जो एक वर्ग के अंदर लेकिन एक विधि के बाहर घोषित किया जाता है, उसे सदस्य आंतरिक वर्ग . के रूप में जाना जाता है ।
हम एक सदस्य की इनर क्लास को दो तरह से इंस्टेंट कर सकते हैं
- कक्षा में आमंत्रित किया गया
- कक्षा के बाहर आमंत्रित किया गया
आंतरिक कक्षा के लिए नियम
- बाहरी वर्ग (आंतरिक वर्ग वाला वर्ग) अपने कोड के अंदर जितनी चाहें उतनी संख्या में आंतरिक वर्ग की वस्तुओं को त्वरित कर सकता है।
- यदि आंतरिक वर्ग सार्वजनिक है और युक्त वर्ग भी है, तो किसी अन्य असंबंधित वर्ग में कोड भी आंतरिक वर्ग का एक उदाहरण बना सकता है।
- कोई भी आंतरिक वर्ग वस्तु बाहरी वर्ग वस्तु के साथ स्वचालित रूप से त्वरित नहीं होती है।
- यदि आंतरिक वर्ग स्थिर है, तो स्थिर आंतरिक वर्ग को बाहरी वर्ग के उदाहरण के बिना त्वरित किया जा सकता है। अन्यथा, आंतरिक वर्ग की वस्तु को बाहरी वर्ग के उदाहरण के साथ जोड़ा जाना चाहिए।
- बाहरी वर्ग आंतरिक वर्ग के निजी तरीकों को भी कॉल कर सकता है।
सदस्य आंतरिक वर्ग जिसे कक्षा के अंदर बुलाया जाता है
नीचे दिए गए उदाहरण में, हम OuterClass के डिस्प्ले () मेथड से मेंबर इनर क्लास की मेथड को इनवाइट कर रहे हैं।
उदाहरण
public class OuterClass { private int value = 20; class InnerClass { void show() { System.out.println("Value is: " + value); } } void display() { InnerClass ic = new InnerClass(); ic.show(); } public static void main(String args[]){ OuterClass oc = new OuterClass(); oc.display(); } }
Value is: 20
सदस्य आंतरिक वर्ग जिसे कक्षा के बाहर बुलाया जाता है
नीचे दिए गए उदाहरण में, हम OuterClass यानी टेस्ट क्लास के बाहर से InnerClass के शो () तरीके को लागू कर रहे हैं।
उदाहरण
class OuterClass { private int value = 20; class InnerClass { void show() { System.out.println("Value is: "+ value); } } } public class Test { public static void main(String args[]) { OuterClass obj = new OuterClass(); OuterClass.InnerClass in = obj.new InnerClass(); in.show(); } }
आउटपुट
Value is: 20