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()!!!