Java ClassLoader 的 getParent() 方法



描述

Java ClassLoader 的 getParent() 方法返回用于委托的父类加载器。某些实现可能使用 null 来表示引导类加载器。如果此类加载器的父级是引导类加载器,则这些实现中的此方法将返回 null。

声明

以下是 java.lang.ClassLoader.getParent() 方法的声明

public final ClassLoader getParent()

参数

返回值

此方法返回父 ClassLoader

异常

SecurityException - 如果存在安全管理器并且其 checkPermission 方法不允许访问此类加载器的父类加载器。

获取父类加载器示例

以下示例显示了 java.lang.ClassLoader.getParent() 方法的使用。在此程序中,我们已检索 ClassLoaderDemo 的类。然后使用 getClassLoader(),我们获取所需的 ClassLoader 并使用 getClass() 打印类加载器类,并使用 getParent() 方法打印父类加载器。

package com.tutorialspoint;

public class ClassLoaderDemo {

  public static void main(String[] args) throws Exception {
     
      Class cls = Class.forName("com.tutorialspoint.ClassLoaderDemo");

      // returns the ClassLoader object associated with this Class
      ClassLoader cLoader = cls.getClassLoader();
    
      System.out.println(cLoader.getClass());
    
      // returns the parent ClassLoader
      System.out.println(cLoader.getParent());
   }
} 

输出

让我们编译并运行上述程序,这将产生以下结果:

class jdk.internal.loader.ClassLoaders$AppClassLoader
jdk.internal.loader.ClassLoaders$PlatformClassLoader@4517d9a3

获取子类父类加载器示例

以下示例显示了 java.lang.ClassLoader.getParent() 方法的使用。在此程序中,我们已检索 TestInnerClass 的类。然后使用 getClassLoader(),我们获取所需的 ClassLoader 并使用 getClass() 打印类加载器类,并使用 getParent() 方法打印父类加载器。

package com.tutorialspoint;

public class ClassLoaderDemo {

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

      TestInnerClass innerClass  = new ClassLoaderDemo(). new TestInnerClass();
      Class cls = innerClass.getClass();

      // returns the ClassLoader object associated with this Class
      ClassLoader cLoader = cls.getClassLoader();

      System.out.println(cLoader.getClass());

      // returns the parent ClassLoader
      System.out.println(cLoader.getParent());
   }

   class TestInnerClass {
      // sample data
   }
} 

输出

让我们编译并运行上述程序,这将产生以下结果:

class jdk.internal.loader.ClassLoaders$AppClassLoader
jdk.internal.loader.ClassLoaders$PlatformClassLoader@372f7a8d
java_lang_classloader.htm
广告

© . All rights reserved.