本帖最后由 夜空闪亮 于 2013-8-2 18:59 编辑
一旦类被加载进内存,则首先执行静态代码块,其次执行构造代码块,最后执行构造函数.
可是这段代码我却搞不明白.- class StaticDemo
- {
- public static void main(String[] args)
- {
- Demo d = null;
- System.out.println("*********"+Demo.class);
- System.out.println("*********");
- }
- }
- class Demo
- {
- static
- {
- System.out.println("Demo run");
- }
- }
复制代码 上述代码只是定义了一个Demo类的引用,但并未通过new来创建对象,请问此时Demo类到底有没有加载入内存?
若没有,为什么输出Demo.class不报错;若已加载入内存,为什么静态代码块却又没有执行??
求高手解答!!
|