获取班级
问题描述:
package test.abc;
public abstract class Base {
...
public static class ChildInner extends Base {
...
}
}
当我打电话给Class.forName("test.abc.Base.ChildInner")
我得到ClassNotFoundException
。出了什么问题?获取班级
答
你试过test.abc.Base$ChildInner
?
内部类名由外部类名完全限定,内部/外部由$
符号区分。
请注意,编译时这是编译器命名和保存这些内部类的方式。你会在你的课程系统中看到它们。
确实。内部类是在Java 1.1中引入的一种语言破解,即使现在我们仍然被这些随机怪异所困住。 – skaffman 2012-01-18 11:06:16
啊是的,它应该是'$'不是'。' - 从来没有新的!谢谢。 – 2012-01-18 11:07:02