Java Class forName()方法
java.lang.Class.forName(String name, boolean initialize, ClassLoader loader) 方法返回的类或接口与给定的字符串名称相关联的Class对象,使用给定的类加载器。
指定的类加载器加载的类或接口。如果参数加载器为null,类是通过引导类加载器加载。类的初始化仅当初始化参数为true,如果它没有被早期初始化。
1 语法
public static Class> forName(String name, boolean initialize, ClassLoader loader) throws ClassNotFoundException
2 参数
name:这是希望的类的完全限定名。
initialize:这显示了类是否必须被初始化。
loader:这是类装载器从哪个类必须被加载。
3 返回值
此方法返回一个代表所需的类的Class对象。
4 示例
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Class forName()方法
*/
import java.lang.*;
public class ClassDemo {
public static void main(String[] args) {
try {
Class cls = Class.forName("ClassDemo");
// returns the ClassLoader object
ClassLoader cLoader = cls.getClassLoader();
/* returns the Class object associated with the class or interface
with the given string name, using the given classloader. */
Class cls2 = Class.forName("java.lang.Thread", true, cLoader);
// returns the name of the class
System.out.println("Class = " + cls.getName());
System.out.println("Class = " + cls2.getName());
}
catch(ClassNotFoundException ex) {
System.out.println(ex.toString());
}
}
}
输出结果为:
Class = ClassDemo
Class = java.lang.Thread