Разница между loadClass () и forName () - PullRequest
1 голос
/ 15 сентября 2010

Кто-нибудь знает, в чем разница между:

Class clazz = getClass().getClassLoader().loadClass(className);

И

Class clazz = Class.forName(className);

Когда я попробовал оба, это дало мне тот же результат.

1 Ответ

8 голосов
/ 15 сентября 2010

Class.forName(className) выполнить блоки кода статического инициализатора в загруженном классе.

При вызове forName ("X") инициализируется класс с именем X.

getClass().getClassLoader().loadClass(className) нет.


Class.forName(className, false, getClass().getClassLoader()) совпадает с getClass().getClassLoader().loadClass(className).


Ресурсы:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...