【发布时间】:2011-04-29 06:52:41
【问题描述】:
我有以下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
}
}
为什么class.forName("Test") 在这里不工作,而下一行工作正常?
【问题讨论】:
-
只是为了正确设置术语,没有什么能比得上静态内部类。您已经嵌套了类 - 静态和非静态(内部)。
标签: java static inner-classes