Java中是否有一种方法可以编程方式导入一个类,其全名为String(即"com.mydummypackage.MyClass"
}?
答案 0 :(得分:15)
如果通过“import”表示“加载Class
对象以便您可以运行反射方法”,那么请使用:
Class<?> clazz = Class.forName( "com.mypackage.MyClass" );
(我们读者对你的单词“import”感到困惑的原因是,通常这是指在Java类文件顶部附近使用的import
关键字,告诉编译器如何扩展类名,例如{{ 1}})。
答案 1 :(得分:6)
Java文档是这方面知识的重要来源,我建议你阅读类对象文档,可以在这里找到: http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html
正如Jason Cohen所说,您可以使用以下代码行加载Class对象,然后创建该类的实例,您将执行Class对象的newInstance方法,如下所示:
Class<?> clazz = Class.forName( "com.mypackage.MyClass" );
Object o = clazz.newInstance();
答案 2 :(得分:4)
不要将“import”与类加载混淆。
import语句不加载任何内容。它所做的只是输入完全解析的类名。如果你导入foo.bar.Baz,你可以在代码中引用类Baz,而不必拼写出来。这都是进口手段。