Java Class getClassLoader() Method



Description

The Java Class getClassLoader() method returns the class loader for the class. Some implementations may use null to represent the bootstrap class loader. The method will return null in such implementations if this class was loaded by the bootstrap class loader.

Declaration

Following is the declaration for java.lang.Class.getClassLoader() method

public ClassLoader getClassLoader()

Parameters

NA

Return Value

This method returns the class loader that loaded the class or interface represented by this object.

Exception

SecurityException − If a security manager exists and its checkPermission method denies access to the class loader for the class.

Example

The following example shows the usage of java.lang.Class.getClassLoader() method.

Getting Class Loader of a Class Example

The following example shows the usage of java.lang.Class.getClassLoader() method. In this program, we've retrieved the Class of ClassDemo and then using getClassLoader(), we've retrieved the class loader and then its name is printed.

package com.tutorialspoint;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         // returns the Class object associated with this class
         Class cls = Class.forName("com.tutorialspoint.ClassDemo");

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

         if (cLoader == null) {
            System.out.println("The default system class was used.");
         } else {
            // returns the class loader
            Class loaderClass = cLoader.getClass();

            System.out.println("Class associated with ClassLoader = " +
            loaderClass.getName());
         }
      } catch (ClassNotFoundException e) {
         System.out.println(e.toString());
      }
   }
} 

Output

Let us compile and run the above program, this will produce the following result −

Class associated with ClassLoader = sun.misc.Launcher$AppClassLoader

Getting Class Loader of a List Class Example

The following example shows the usage of java.lang.Class.getClassLoader() method. In this program, we've retrieved the Class of List class and then using getClassLoader(), we've retrieved the class loader and then its name is printed.

package com.tutorialspoint;

import java.util.List;

public class ClassDemo {

   public static void main(String[] args) {
      // returns the Class object associated with List class
      Class cls = List.class;

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

      if (cLoader == null) {
         System.out.println("The default system class was used.");
      } else {
         // returns the class loader
         Class loaderClass = cLoader.getClass();
         System.out.println("Class associated with ClassLoader = " +
         loaderClass.getName());
      }
   }
}  

Output

Let us compile and run the above program, this will produce the following result −

The default system class was used.

Getting Class Loader of a Integer Class Example

The following example shows the usage of java.lang.Class.getClassLoader() method. In this program, we've retrieved the Class of Integer class and then using getClassLoader(), we've retrieved the class loader and then its name is printed.

package com.tutorialspoint;

public class ClassDemo {

   public static void main(String[] args) {
      // returns the Class object associated with List class
      Class cls = Integer.class;

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

      if (cLoader == null) {
         System.out.println("The default system class was used.");
      } else {
         // returns the class loader
         Class loaderClass = cLoader.getClass();
         System.out.println("Class associated with ClassLoader = " +
         loaderClass.getName());
      }
   }
}  

Output

Let us compile and run the above program, this will produce the following result −

The default system class was used.
java_lang_class.htm
Advertisements