Static class loading and dynamic class loading in java ?

Static class loading

Classes are statically loaded with Java using new operator.

class MyClass {
public static void main(String args[]) {
Car c = new Car();
}
}



Dynamic clas loading

Dynamic loading is a technique for programmatically invoking the functions of a
class loader at run time. Let us look at how to load classes dynamically.

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 Car or
the class Jeep at runtime based on a properties file and/or other runtime
conditions. Once the class is dynamically loaded the following method returns an
instance of the loaded class. It?s just like creating a class object with no
arguments.

class.newInstance (); //A non-static method, which creates an instance of a
//class (i.e. creates an object).

Jeep myJeep = null ;

//myClassName should be read from a .properties file or a Constants class.
// stay away from hard coding values in your program. CO

String myClassName = "au.com.Jeep" ;
Class vehicleClass = Class.forName(myClassName) ;
myJeep = (Jeep) vehicleClass.newInstance();
myJeep.setFuelCapacity(50);

 

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.