Class.forName("xx.xx")等同于
Class.forName("xx.xx",true,ClassLoader.getSystemClassLoader());//此时已经初始化实例对象了
而ClassLoader loader = ClassLoader.getSystemClassLoader();
Class className=loader.loadClass("xx.xx");//此时class没有实例化对象
className.newInstance();//此时才真正的初始化实例对象
综上所述它们的区别在于Class.forName("xx.xx")已经实例化类对象了,但ClassLoader.loadClass("xx.xx");没有实例化类对象,需要调用newInstance方法进行实例化
Class.forName("xx.xx",true,ClassLoader.getSystemClassLoader());//此时已经初始化实例对象了
而ClassLoader loader = ClassLoader.getSystemClassLoader();
Class className=loader.loadClass("xx.xx");//此时class没有实例化对象
className.newInstance();//此时才真正的初始化实例对象
综上所述它们的区别在于Class.forName("xx.xx")已经实例化类对象了,但ClassLoader.loadClass("xx.xx");没有实例化类对象,需要调用newInstance方法进行实例化