Tengo el siguiente código de Java:¿Cómo cargar clases anidadas en Java?
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
}
}
¿Por qué no class.forName("Test")
trabajo aquí, mientras que la línea siguiente funciona bien?
Sólo para fijar la terminología correcta, no hay nada como una clase interna estática. Has anidado las clases: estático y no estático (interno). – Swapnil