Name
ClassLoader
Synopsis
This class is the abstract
superclass of objects that know how to load Java classes into a Java
VM. Given a ClassLoader
object, you can
dynamically load a class by calling the public loadClass(
)
method, specifying the full name of the desired class.
You can obtain a resource associated with a class by calling
getResource( )
, getResources(
)
, and getResourceAsStream( )
.
Many applications do not need to use
ClassLoader
directly; these applications use the
Class.forName( )
and Class.getResource(
)
methods to dynamically load classes and resources using
the ClassLoader
object that loaded the application
itself.
In order to load classes over the
network or from any source other than the class path, you must use a
custom ClassLoader
object that knows how to obtain
data from that source. A java.net.URLClassLoader
is suitable for this purpose for almost all applications. Only rarely
should an application need to define a ClassLoader
subclass of its own. When this is necessary, the subclass should
typically extend java.security.SecureClassLoader
and override the findClass( )
method. This method
must find the bytes that comprise the named class, then pass them to
the defineClass( )
method and return the resulting
Class
object. In Java 1.2 and later, the
findClass( )
method must also
define the Package
object associated with the class, if it has not already been defined.
It can use getPackage( )
and
definePackage( )
for this purpose. Custom subclasses of ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.