Загрузка статического и динамического класса в Java
Концепция загрузчика классов, один из краеугольных камней виртуальной машины Java (JVM). В нем описывается поведение преобразования именованного класса в биты, отвечающие за реализацию этого класса. Поскольку существуют загрузчики классов, время выполнения Java не обязательно должно знать о файлах и файловых системах при запуске программ Java.
Загрузка статического класса
При загрузке статического класса классы статически загружаются с помощью «нового» оператора Java. В этом случае извлечение определения класса и создание экземпляра объекта выполняется во время компиляции.
class TestClass { public static void main(String args[]) { TestClass tc = new TestClass(); } }
Загрузка динамического класса
Динамическая загрузка - это метод для программного вызова функций загрузчика классов во время выполнения. Загрузка динамического класса выполняется, когда имя класса неизвестно во время компиляции.
Синтаксис
Class.forName (String className);
Вышеуказанный статический метод возвращает объект класса, связанный с именем класса. Строка className может поставляться динамически во время выполнения. Когда класс динамически загружается, метод class.newInstance() возвращает экземпляр загруженного класса.
Модель Java загружает классы по мере необходимости и не должна знать имя всех классов в коллекции до того, как любой из ее классов может быть загружен и запущен.
Источник: http://net-informations.com/Java/cJava/loading.htm