java.lang.Class.forName(String name, boolean initialize, ClassLoader loader)方法
描述
Java.lang.Class.forName(String name, boolean initialize, ClassLoader loader) 方法返回与给定字符串名的类或接口的Class对象,使用给定的类加载器。
指定的类加载器加载的类或接口。如果该参数加载器loader 为空,通过引导类加载器加载类。当类被初始化的初始化initialize参数为true,如果它没有被初始化。
声明
以下是java.lang.Class.forName()方法的声明
- public static Class<?> forName(String name, boolean initialize, ClassLoader loader) throws ClassNotFoundException
参数
-
name -- 这是所需类的完全限定名称。
-
initialize -- 这说明这个类是否必须初始化。
-
loader -- 这是必须加载的类的类加载器。
返回值
此方法返回所需的类的类对象。
异常
-
LinkageError -- 如果联动失败。
-
ExceptionInInitializerError -- 如果这种方法所引发的初始化失败。
-
ClassNotFoundException -- 如果类不能位于由指定的类加载器。
实例
下面的例子说明了如何使用java.lang.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
作者:Seachal
出处:http://www.cnblogs.com/ZhangSeachal
如果,您认为阅读这篇博客让您有些收获,不妨点击一下左下角的【好文要顶】与【收藏该文】
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】
如果,您对我的博客内容感兴趣,请继续关注我的后续博客,我是【Seachal】
我的GitHub
我的CSDN
我的简书
本博文为学习、笔记之用,以笔记记录作者学习的知识与学习后的思考或感悟。学习过程可能参考各种资料,如觉文中表述过分引用,请务必告知,以便迅速处理。如有错漏,不吝赐教!