好的,例如我有这段代码:
class Document {
// blablabla
}
和我的主要:
Object cl =Class.forName("Document"); // throws ClassNotFoundException: Document
为什么找不到我的班级定义?
答案 0 :(得分:5)
你应该用它的完全限定名称来引用你的课程:
Object cl =Class.forName("org.yourpackage.Document");
答案 1 :(得分:2)
我的猜测是这个类实际上是在一个包中。 Class.forName
采用完全限定名称,作为文档:
参数:
className - 所需类的完全限定名称。
例如:
package foo.bar;
class Document {}
...
Class<?> clazz = Class.forName("foo.bar.Document");
如果它是嵌套类,您还需要考虑到这一点:
package foo.bar;
class Outer {
static class Document {
}
}
...
Class<?> clazz = Class.forName("foo.bar.Outer$Document");