Java ClassLoader findLoadedClass()方法与示例
ClassLoader类findLoadedClass()方法
findLoadedClass()方法在java.lang包中可用。
当JVM在使用该二进制名称初始化类的加载器时记录了该加载器时,将使用findLoadedClass()方法返回具有给定二进制类名称的Class。
findLoadedClass()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
在加载Class对象时,findLoadedClass()方法可能会引发异常。
语法:
protected Class findLoadedClass(String class_name);
参数:
字符串class_name–表示类的二进制名称。
返回值:
此方法的返回类型为Class,当记录了该类时,它将返回Class对象;否则,当尚未记录该类时,它将返回null。
示例
//Java程序演示示例
//类findLoadedClass(Stringclass_name)
//ClassLoader的方法
class FindLoadedClass extends ClassLoader {
void loadedClass() {
//它检查给定的类是否已加载
//是否使用findLoadedClass()
Class cl1 = super.findLoadedClass("java.lang.String");
//如果cl1不为null,则表示已加载cl1-
//然后不需要再次加载
if (cl1 != null)
System.out.println(" Class already loaded!!!");
else
System.out.println("Ready to load the given class by using loadClass()!!!");
}
}
public class Main {
public static void main(String[] args) throws Exception {
//创建FindLoadedClass的实例
FindLoadedClass lc = new FindLoadedClass();
lc.loadedClass();
}
}输出结果
Ready to load the given class by using loadClass()!!!