Static Loading
Classes
are statically loaded in Java using new
operator.
For
Example :
class MyClass {
public static void main(String args[]) {
Car c = new Car();
}
}
|
A NoClassDefFoundException
is thrown if a class is referenced with Java’s new operator but the runtime system cannot find the referenced
class.
Dynamic loading is a technique
for programmatically invoking the functions of a class loader at run time.
The following
specifies how classes are loaded dynamically in Java
Class.forName
(String className); //static method
which returns a Class
The above
static method returns the class object associated with the class name. The
string className can be supplied dynamically at run time.
Unlike the
static loading, the dynamic loading will decide whether to load the class ClassXXX
or the class ClassYYY at runtime.
Once the class is dynamically loaded the following method returns an instance
of the loaded class.
class.newInstance
(); //A non-static method, which creates an
instance of a class
Creates a
new instance of the class represented by this Class object. The class
is instantiated as if by a new expression with an empty argument
list.
. . . read more