我有两个类:A和B在同一项目中,但在不同的程序包中。
当A尝试动态创建B时,它将失败。
Class<?> c = Class.forName("com.mycompany.B"); //fails
但是当我静态创建类对象时,它可以正常工作。
B b = new B();
有什么想法吗?
答案 0 :(得分:3)
您必须使用完整的类名,包括软件包。
例如,如果B
位于软件包org.example
中,则使用:
Class.forName("org.example.B")