有谁知道它们之间有什么不同:
Class clazz = getClass().getClassLoader().loadClass(className);
和
Class clazz = Class.forName(className);
当我尝试两者时,它给了我相同的结果。
答案 0 :(得分:8)
Class.forName(className)
在加载的类中执行静态初始化程序代码块。
对forName(“X”)的调用会导致名为X的类被初始化。
getClass().getClassLoader().loadClass(className)
没有。
Class.forName(className, false, getClass().getClassLoader())
与getClass().getClassLoader().loadClass(className)
相同。
资源: