您的位置:首页 > 编程语言 > Java开发

java.lang.Class.forName(String name, boolean initialize, ClassLoader loader)方法

2016-05-01 13:23 726 查看

描述

Java.lang.Class.forName(String name, boolean initialize, ClassLoader loader) 方法返回与给定字符串名的类或接口的Class对象,使用给定的类加载器。

指定的类加载器加载的类或接口。如果该参数加载器loader 为空,通过引导类加载器加载类。当类被初始化的初始化initialize参数为true,如果它没有被初始化。

声明

以下是java.lang.Class.forName()方法的声明

[java] view plain copy





public static Class<?> forName(String name, boolean initialize, ClassLoader loader) throws ClassNotFoundException

参数

name -- 这是所需类的完全限定名称。

initialize -- 这说明这个类是否必须初始化。

loader -- 这是必须加载的类的类加载器。

返回值

此方法返回所需的类的类对象。

异常

LinkageError -- 如果联动失败。

ExceptionInInitializerError -- 如果这种方法所引发的初始化失败。

ClassNotFoundException -- 如果类不能位于由指定的类加载器。

实例

下面的例子说明了如何使用java.lang.Class.forName()方法。

[java] view plain copy





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());

}

}

}

让我们来编译和运行上面的程序,这将产生以下结果:

[java] view plain copy





Class = ClassDemo

Class = java.lang.Thread
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: