描述 Java.lang.Class.forName(String name, boolean initialize, ClassLoader loader) 方法返回與給定字元串名的類或介面的Class對象,使用給定的類載入器。 指定的類載入器載入的類或介面。如果該參數載入器loader 為空,通 ...
描述
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