Java ClassLoader resolveClass()方法与示例

ClassLoader类resolveClass()方法

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

  • 假设已经链接了类A时,可使用resolveClass()方法链接指定的类,那么在这种情况下,此方法只是返回。

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

  • resolveClass()方法在链接类时可能会引发异常。
    NullPointerException:如果给定的类为null,则在此异常中。

语法:

    protected void resolveClass(Class cl_name);

参数:

  • 类cl_name –表示要链接的类的名称。

返回值:

此方法的返回类型为void,不返回任何内容。

示例

//Java程序演示示例 
//ClassLoader的void resolveClass(Class cl_name)方法的实现 

public class ResolveClass extends ClassLoader {
 ResolveClass(Class cl1) {
  //通过使用超级关键字来调用父类
  //构造函数
  super.resolveClass(cl1);

  //显示解析类名称
  System.out.println("Class Name: " + cl1.getSimpleName());
 }

 public static void main(String[] args) throws Exception {
  //我们正在将Class解析为ClassLoader构造函数
  Class cl = Class.forName("java.lang.String");

  //调用ResolveClass构造函数
  ResolveClass rc = new ResolveClass(cl);
 }
}

输出结果

Class Name: String