两者都可以返回Class对象,区别就是类加载的程度不同。
loadClass()方法返回的Class对象默认只进行了加载阶段,而连接和初始化阶段是还没进行的,所以说,使用loadClass()方法默认是不会触发该类里面的静态代码块的。
forName()方法返回的Class对象默认已经进行完初始化了,所以说会触发类里面的静态代码块。
比如说像JDBC中的Driver类是通过forName()方法来获取的,就是因为Driver类里面有一个静态代码块,所以需要使用forName()
而loadClass()在Spring IOC中延迟加载用得很广泛