Java ClassLoader findSystemClass()方法与示例
ClassLoader类findSystemClass()方法
findSystemClass()方法在java.lang包中可用。
findSystemClass()方法用于查找具有给定二进制名称的类,并在需要时通过系统加载器加载该类。
findSystemClass()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
在使用给定类查找类时,findSystemClass()方法可能会引发异常。
ClassNotFoundException:如果给定的类不存在,则可能引发此异常。
语法:
protected Class findSystemClass(String class_name);
参数:
字符串class_name–表示类的二进制名称。
返回值:
该方法的返回类型为Class,它返回给定类名的Class对象。
示例
//Java程序演示示例
//类findSystemClass(Stringclass_name)
//ClassLoader的方法
class FindSystemClass extends ClassLoader {
void loadedSystemClass() throws ClassNotFoundException {
//它检查给定的类是否已加载
//是否使用findSystemClass()
Class cl1 = super.findSystemClass("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 system classloader!!!");
}
}
public class Main {
public static void main(String[] args) throws Exception {
//创建一个FindSystemClass的实例
FindSystemClass sc = new FindSystemClass();
sc.loadedSystemClass();
}
}输出结果
Class already loaded!!!