Jump to content
Wikibooks The Free Textbook Project

Dynamic Class Loading

From Wikibooks, open books for an open world

Dynamic Class Loading allows the loading of java code that is not known about before a program starts. Many classes rely on other classes and resources such as icons which make loading a single class unfeasible. For this reason the ClassLoader (java.lang.ClassLoader) is used to manage all the inner dependencies of a collection of classes. The Java model loads classes as needed and doesn't need to know the name of all classes in a collection before any one of its classes can be loaded and run.

Simple Dynamic Class Loading

[edit | edit source ]

An easy way to dynamically load a Class is via the java.net.URLClassLoader class. This class can be used to load a Class or a collection of classes that are accessible via a URL. This is very similar to the -classpath parameter in the java executable. To create a URLClassLoader, use the factory method (as using the constructor requires a security privilege):

Example Code section 10.4: Class loader.
URLClassLoaderclassLoader=URLClassLoader.newInstance(
newURL[]{"http://example.com/javaClasses.jar"});

Unlike other dynamic class loading techniques, this can be used even without security permission provided the classes come from the same Web domain as the caller. Once a ClassLoader instance is obtained, a class can be loaded via the loadClass method. For example, to load the class com.example.MyClass, one would:

Example Code section 10.5: Class loading.
Class<?>clazz=classLoader.load("com.example.MyClass");

Executing code from a Class instance is explained in the Dynamic Invocation chapter.


[画像:Clipboard]

To do:
Add some exercises like the ones in Variables

AltStyle によって変換されたページ (->オリジナル) /