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
相關用法
- Java Booleans.indexOf(boolean[] array, boolean[] target)用法及代碼示例
- Java Booleans.indexOf(boolean[] array, boolean target)用法及代碼示例
- Java Boolean compareTo()用法及代碼示例
- Java Boolean toString()用法及代碼示例
- Java Boolean parseBoolean()用法及代碼示例
- Java Boolean hashCode()用法及代碼示例
- Java Boolean equals()用法及代碼示例
- Java Boolean compare()用法及代碼示例
- Java Boolean booleanValue()用法及代碼示例
- Java Matcher useAnchoringBounds(boolean)用法及代碼示例
- Java Matcher useTransparentBounds(boolean)用法及代碼示例
- Java PrintStream print(boolean)用法及代碼示例
- Java PrintStream println(boolean)用法及代碼示例
- Java TimeZone getDisplayName(boolean, int)用法及代碼示例
- Java PrintWriter println(boolean)用法及代碼示例
注:本文由純淨天空篩選整理自srinam大神的英文原創作品 Class forName(String, boolean, ClassLoader) method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。