java中class.forName()和classLoader都可以用来对类进行加载。
class.forName()前者除了将类的.class文件加载到jvm中之外,还会对类进行解释,执行类中的static静态代码块。而classLoader只干一件事,就是将。class文件加载到jvm中,不会执行static中的内容,只有newInstance才会去执行static块。
Class.forName(name,initialize,loader)带参函数也可控制是否加载static块。并且只有调用了newInstance()方法采用调用构造函数,创建类的对象
JAVA面试题:反射中,Class.forName和classloader的区别
最新推荐文章于 2022-11-28 12:06:13 发布