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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
