当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Java.lang.Class.forName()用法及代码示例



描述

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

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

声明

以下是声明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() 方法的用法。

package com.tutorialspoint;

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

相关用法


注:本文由纯净天空筛选整理自 Java.lang.Class.forName() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。