Static class loading | Dynamic class loading | The process of loading a class using new operator is called static class loading. | The process of loading a class at runtime is called dynamic class loading. |
It is done using the new operator. | It is done by using Class.forName(….).newInstance(). |
The retrieval of class definition and instantiation of the object is done at compile time. | Dynamic class loading is done when the name of the class is not known at compile time. |
It only uses the new operator. | It uses methods such as getClass(); getName(); getDeclaredFields(); |