當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Class forName(String, boolean, ClassLoader)用法及代碼示例


java.lang.Class類的forName(String,boolean,ClassLoader)方法用於使用指定的類加載器獲取具有指定類名稱的Class的實例。僅當initialize參數為true且之前尚未初始化時,才對類進行初始化。

用法:

public static Class<T>
 forName(String className, 
         boolean initialize, 
         ClassLoader classLoader) 
 throws ClassNotFoundException

參數:此方法接受以下參數:


  • className這是需要其實例的Class。
  • initialize這是要聲明是否需要初始化此類實例的布爾值。
  • classLoader這是必須從中加載該Class的ClassLoader。

返回值:此方法返回使用指定參數獲取的Class的實例。

異常:此方法引發以下異常:

  • LinkageError:如果鏈接失敗
  • ExceptionInInitializerError:如果此方法引發的初始化失敗
  • ClassNotFoundException:如果找不到課程
  • SecurityException:如果存在安全管理器,並且加載程序為null,並且調用方的類加載程序不為null,並且調用方沒有RuntimePermission(“getClassLoader”)

下麵的程序演示了forName()方法。

範例1:

// Java program to demonstrate forName() method 
  
public class Test { 
    public static void main(String[] args) 
        throws ClassNotFoundException 
    { 
  
        // returns the Class object for this class 
        Class myClass = Class.forName("Test"); 
  
        ClassLoader loader = myClass.getClassLoader(); 
  
        // get the Class instance using forName method 
        Class c1 
            = Class.forName("java.lang.String", 
                            true, 
                            loader); 
  
        System.out.print("Class represented by c1:"
                         + c1.toString()); 
    } 
}
輸出:
Class represented by c1:class java.lang.String

範例2:

// Java program to demonstrate forName() method 
  
public class Test { 
    public static void main(String[] args) 
        throws ClassNotFoundException 
    { 
  
        // returns the Class object for this class 
        Class myClass = Class.forName("Test"); 
  
        ClassLoader loader = myClass.getClassLoader(); 
  
        // get the Class instance using forName method 
        Class c1 
            = Class.forName("java.lang.Integer", 
                            false, 
                            loader); 
  
        System.out.print("Class represented by c1:"
                         + c1.toString()); 
    } 
}
輸出:
Class represented by c1:class java.lang.Integer

參考: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#forName-java.lang.String-boolean-java.lang.ClassLoader-



相關用法


注:本文由純淨天空篩選整理自srinam大神的英文原創作品 Class forName(String, boolean, ClassLoader) method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。