स्टैटिक इनर क्लास को आउटर क्लास के इंस्टेंस की आवश्यकता के बिना इंस्टेंटिएट किया जा सकता है। सामान्यतः, एक इनर क्लास नेस्टेड क्लास का एक हिस्सा होती है, जिसे जावा में नॉन-स्टैटिक नेस्टेड क्लासेस कहा जाता है। इनर क्लास के प्रकार हैं मेंबर इनर क्लास, अनाम इनर क्लास, और लोकल इनर क्लास।
हम InnerClass.class.newInstance() का उपयोग करके रिफ्लेक्शन के साथ स्टैटिक इनर क्लास को इंस्टेंटिएट कर सकते हैं। यदि हमें नॉन-स्टैटिक इनर क्लास को इंस्टेंटिएट करने के लिए आउटर क्लास के इंस्टेंस की आवश्यकता है, तो हम इसे new ऑपरेटर से पहले निर्दिष्ट कर सकते हैं।
उदाहरण
import java.lang.reflect.*;
public class InnerclassWithReflectionTest {
public static void main(String args[]) {
try {
InnerClass inner = (InnerClass) InnerClass.class.newInstance();
inner.test();
} catch(Exception e) {
e.printStackTrace();
}
}
// इनर क्लास
static class InnerClass {
public void test() {
System.out.println("TutorialsPoint में आपका स्वागत है !!!");
}
}
}
आउटपुट
TutorialsPoint में आपका स्वागत है !!!