Loading Classes
We’ll now
explore the details of how a class loader actually loads classes.
There is a single method of the ClassLoader
class (and all its subclasses) that accomplishes this:
- public Class loadClass(String name)
Load and resolve the named class. A
ClassNotFoundException
is 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
the 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 theClass
class, 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 likeappletviewer
uses: 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’sinit()
method (among other methods).Starting with JDK 1.1, the reflection API can be used ...
Get Java Security 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.