【发布时间】:2011-11-12 17:04:52
【问题描述】:
谁能解释一下 Class.forName() 和 Thread.currentThread().getContextClassLoader().loadClass() 之间的区别。 我有下一个代码
<code>
public class Test {
static {
System.out.println("Hello from static block");
}
}
public class Application {
public static void main(String[] args) throws ClassNotFoundException {
//Class test = Class.forName("com.home.Test"); //Outputs "Hello from static block"
Thread.currentThread().getContextClassLoader().loadClass("com.home.Test");
}
}
</code>
当我执行 Class.forName("com.home.Test") 时,它会输出“来自静态块的 Hello”。但是当我执行 Thread.currentThread().getContextClassLoader().loadClass("com.home.Test");它什么也不输出。
【问题讨论】: