loadClass(String): This method is available in the java.lang.ClassLoader class of Java.
Syntax:
Class<?> java.lang.ClassLoader.loadClass(String name) throws ClassNotFoundException
This method takes one argument. This method loads the class with the specified binary name.
It is invoked by the Java virtual machine to resolve class references.
Parameters: One parameter is required for this method.
name: The binary name of the class.
Returns: The resulting Class object.
Throws:
1. ClassNotFoundException - If the class was not found
Approach 1: When no exception
Java
package com.ClassLoader;public class ClassLoaderloadClass {public static void main(String[] args) throws ClassNotFoundException {ClassLoader classLoader =ClassLoader.getSystemClassLoader();String name = "java.lang.String";System.out.println(classLoader.loadClass(name));}}
Output:
class java.lang.String
Approach 2: ClassNotFoundException
Java
package com.ClassLoader;public class ClassLoaderloadClass {public static void main(String[] args) throws ClassNotFoundException {ClassLoader classLoader =ClassLoader.getSystemClassLoader();String name = "java.lang.Hello";System.out.println(classLoader.loadClass(name));}}
Output:
Exception in thread "main" java.lang.ClassNotFoundException: java.lang.Hello at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at com.ClassLoader.ClassLoaderloadClass.main(ClassLoaderloadClass.java:10)
Some other methods of ClassLoader class
clearAssertionStatus(): This method sets the default assertion status for this class loader to false and discards any package defaults or class assertion status settings associated with the class loader.
getDefinedPackage(String): This method returns a Package of the given name that has been defined by this class loader.
getDefinedPackages(): This method returns all of the Packages that have been defined by this class loader.
getName(): This method returns the name of this class loader or null if this class loader is not named.
getParent(): This method returns the parent class loader for delegation. Some implementations may use null to represent the bootstrap class loader.
ClassLoader.getPlatformClassLoader(): This method returns the platform class loader. All platform classes are visible to the platform class loader.
getResource(String): This method finds the resource with the given name.
getResourceAsStream(String): This method returns an input stream for reading the specified resource.
getResources(String): This method finds all the resources with the given name.
ClassLoader.getSystemClassLoader(): This method returns the system class loader.
ClassLoader.getSystemResource(String): This method finds a resource of the specified name from the search path used to load classes.
ClassLoader.getSystemResourceAsStream(String): This method is open for reading, a resource of the specified name from the search path used to load classes.
ClassLoader.getSystemResources(String): This method finds all resources of the specified name from the search path used to load classes.
getUnnamedModule(): This method returns the unnamed Module for this class loader.
isRegisteredAsParallelCapable(): This method returns true if this class loader is registered as parallel capable, otherwise false.
loadClass(String): This method loads the class with the specified binary name.
resources(String): This method returns a stream whose elements are the URLs of all the resources with the given name.
setClassAssertionStatus(String, boolean): This method sets the desired assertion status for the named top-level class in this class loader and any nested classes contained therein.
setDefaultAssertionStatus(boolean): This method sets the default assertion status for this class loader.
setPackageAssertionStatus(String, boolean): This method sets the package default assertion status for the named package.
No comments:
Post a Comment