严格的说,这两个方法实现的效果是不一样的.Class.forName(String name)的
类加载器(ClassLoader)是
定义"当前类(这段代码所属的类)"的类加载器.而ClassLoader.getSystemClassLoader()获得到的是"系统类加载器(AppClassLoader)".上述两个类加载器有可能不一致.而在java虚拟机中, 类(Class)是否相同由两个因素决定, 一个是"全限定类名", 另一个就是"加载该类的类加载器".也就是说, 上边两个方法, 有可能在"参数(全限定类名)"相同的情况下, 返回的 Class是不相同的....
|