Java ClassLoader findClass()方法与示例

ClassLoader类findClass()方法

  • findClass()方法在java.lang包中可用。

  • findClass()方法用于查找具有给定二进制类名称的类。

  • findClass()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • findClass()方法在查找类时可能会引发异常。
    ClassNotFoundException:如果给定的类不存在,则可能引发此异常。

语法:

    protected Class findClass(String class_name);

参数:

  • 字符串class_name –表示类的二进制名称。

返回值:

该方法的返回类型为Class,它返回一个对象“ Class”。

示例

//Java程序演示示例 
//Loader的Class findClass(String class_name)方法的说明 

class FindClass extends ClassLoader {
    //覆盖findClass()ClassLoader-
    protected Class findClass(String name) throws ClassNotFoundException {
        if (name.equals("java.lang.String")) {}
        return getSystemClassLoader().loadClass(name);
    }
}

public class Main {
    public static void main(String[] args) throws Exception {
        //创建FindClass的实例
        FindClass fc = new FindClass();

        //我们找到了java.lang.String类,它返回
        //它已经存在于Java中
        Class cl = fc.findClass("java.lang.String");
        System.out.println("Class Found: " + cl.getName());
    }
}

输出结果

Class Found: java.lang.String