如何以编程方式导入Java类

时间:2009-01-22 21:04:02

标签: java reflection

Java中是否有一种方法可以编程方式导入一个类,其全名为String(即"com.mydummypackage.MyClass"}?

3 个答案:

答案 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,而不必拼写出来。这都是进口手段。