• java.lang.Class.forName(String name, boolean initialize, ClassLoader loader)方法


    描述

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

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

    声明

    以下是java.lang.Class.forName()方法的声明

      1. public static Class<?> forName(String name, boolean initialize, ClassLoader loader) throws ClassNotFoundException 

    参数

    • name -- 这是所需类的完全限定名称。

    • initialize -- 这说明这个类是否必须初始化。

    • loader -- 这是必须加载的类的类加载器。

    返回值

      此方法返回所需的类的类对象。

    异常

    • LinkageError -- 如果联动失败。

    • ExceptionInInitializerError -- 如果这种方法所引发的初始化失败。

    • ClassNotFoundException -- 如果类不能位于由指定的类加载器。

    实例

    下面的例子说明了如何使用java.lang.Class.forName()方法。

    1. import java.lang.*;  
    2.   
    3. public class ClassDemo {  
    4.   
    5.    public static void main(String[] args) {  
    6.   
    7.      try {  
    8.         Class cls = Class.forName("ClassDemo");  
    9.   
    10.         // returns the ClassLoader object  
    11.         ClassLoader cLoader = cls.getClassLoader();  
    12.          
    13.         /* returns the Class object associated with the class or interface  
    14.         with the given string name, using the given classloader. */  
    15.         Class cls2 = Class.forName("java.lang.Thread", true, cLoader);         
    16.             
    17.         // returns the name of the class  
    18.         System.out.println("Class = " + cls.getName());  
    19.         System.out.println("Class = " + cls2.getName());   
    20.      }  
    21.      catch(ClassNotFoundException ex) {  
    22.         System.out.println(ex.toString());  
    23.      }  
    24.    }  
    25. }  

     

     让我们来编译和运行上面的程序,这将产生以下结果:

    1. Class = ClassDemo  
    2. Class = java.lang.Thread 
  • 相关阅读:
    ....
    CodeForces 375A(同余)
    POJ 2377 Bad Cowtractors (最小生成树)
    POJ 1258 AgriNet (最小生成树)
    HDU 1016 Prime Ring Problem(全排列)
    HDU 4460 Friend Chains(bfs)
    POJ 2236 Wireless Network(并查集)
    POJ 2100 Graveyard Design(尺取)
    POJ 2110 Mountain Walking(二分/bfs)
    CodeForces 1059B Forgery(模拟)
  • 原文地址:https://www.cnblogs.com/Seachal/p/5450385.html
Copyright © 2020-2023  润新知