explore the details of how a class loader actually loads classes.
There is a single method of the
class (and all its subclasses) that accomplishes this:
- public Class loadClass(String name)
Load and resolve the named class. A
ClassNotFoundExceptionis thrown if the class cannot be found.
This is the simplest way to use a class loader directly: it simply
requires that the class loader be instantiated and then be used via
loadClass() method. Once the
Class object has been constructed, there are
three ways in which a method in the class can be executed:
A static method of the class can be executed using the native method interface of the Java virtual machine. This is the technique the Java virtual machine uses to execute the
main()method of a Java application once the initial class has been loaded, but this is not generally a technique used by Java applications.
An object of the class can be constructed using the
newInstance()method of the
Classclass, but only if the class has an accessible constructor that requires no arguments. Once the object has been constructed, methods with well-known signatures can be executed on the object. This is the technique that a program like
appletvieweruses: it loads the initial class of the applet, constructs an instance of the applet (which calls the applet’s no-argument constructor), and then calls the applet’s
init()method (among other methods).
Starting with JDK 1.1, the reflection API can be used ...