मैं निम्नलिखित जावा कोड है:जावा में नेस्टेड कक्षाएं कैसे लोड करें?
public class CheckInnerStatic {
private static class Test {
static {
System.out.println("Static block initialized");
}
public Test() {
System.out.println("Constructor called");
}
}
public static void main (String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
System.out.println("Inside main");
Class.forName("Test"); // Doesn't work, gives ClassNotFoundException
//Test test = new Test(); // Works fine
}
}
क्यों, जबकि अगली पंक्ति ठीक काम करता है यहाँ नहीं class.forName("Test")
काम करता है?
बस शब्दावलियों सही सेट करने के लिए (भले ही कोई नेस्ट वर्ग स्थिर या नहीं है), वहाँ एक स्थिर भीतरी वर्ग की तरह कुछ भी नहीं है। आपने वर्गों को घोंसला दिया है - स्थैतिक और गैर स्थैतिक (आंतरिक)। – Swapnil