在Java Android中动态加载类

时间:2014-03-04 14:16:25

标签: java android class

在编译时寻找可以在不知道其名称的情况下定义类的最佳方法。在PHP中,这可以通过以下方式完成:

$className = 'testclass';
$myClass = new $className();

相比之下,已经在Java中,所以不要。我知道它是ClassLoader,但我不确定Android是否也这样做。我会要求提供具体的代码,甚至是如何做到的提示。

问候。

2 个答案:

答案 0 :(得分:3)

您正在寻找的内容在Java中称为Reflectionhttp://developer.android.com/reference/java/lang/reflect/package-summary.html

请注意,不能使用反射列出某个包中的类。

答案 1 :(得分:1)

您可以通过Class.forName加载现有课程;你的类也可以有一个静态初始化器static { /* your init code */ },这样它就可以在加载类时运行。

另请注意,所有JDBC驱动程序通常都是以这种方式加载的。