Java Class 类 getClassLoader()方法及示例

Class类getClassLoader()方法

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

  • getClassLoader()方法用于返回加载类或接口的ClassLoader。

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

  • 在加载类或接口时,getClassLoader()方法可能会引发SecurityException
    SecurityException:在此异常中,当安全管理器存在时,其checkPermission()方法不允许访问该类的类加载器。

语法:

    public ClassLoader getClassLoader();

参数:

  • 它不接受任何参数。

返回值:

此方法的返回类型为ClassLoader,它根据给定的情况返回以下值:

  • 它返回类加载器,该加载器加载此对象表示的类。

  • 如果使用自举类加载器,则返回null,因为我们不需要实现自举类加载器。

示例

//Java程序演示示例 
//类的ClassLoadergetClassLoader()方法的说明 

public class GetClassLoaderOfClass {
 public static void main(String[] args) throws Exception {

  //的Class对象 
  //类名
  Class cl = Class.forName("GetClassLoaderOfClass");

  //通过使用getClassLoader()is来加载类
  ClassLoader class_load = cl.getClassLoader();

  //如果有任何ClassLoader与Class相关联
  if (class_load != null) {

   Class load_class = class_load.getClass();
   System.out.print("Associated Loader Class: ");
   System.out.print(load_class.getName());
  }
  //没有与该类关联的装载程序
  else
   System.out.println("No system loader associated with the class");
 }
}

输出结果

Associated Loader Class: jdk.internal.loader.ClassLoaders$AppClassLoader