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

 

热门文章

优秀文章