【发布时间】:2014-06-05 06:06:25
【问题描述】:
我不确定MyClass.class和Class.forName("MyClass")之间加载静态变量/块有什么区别,例如,我有下面的类:
package test;
public class SampleClass{
public static SampleClass instance = new SampleClass();
private SampleClass(){
System.out.println("SampleClass Instance Created");
}
}
然后,在另一个类中,我使用以下方法访问了上面 SampleClass 的类对象:
System.out.println(SampleClass.class);
然后,输出将是:
class test.SampleClass
如果我改用class.forName(),如下:
System.out.println(Class.forName("test.SampleClass"));
然后,输出将是:
SampleClass Instance Created
class test.SampleClass
谁能给我一个解释? 非常感谢。
【问题讨论】: