黑马程序员技术交流社区

标题: 哪位大侠帮解释解释!!! [打印本页]

作者: 敗唫①輩ふ    时间: 2013-11-8 18:07
标题: 哪位大侠帮解释解释!!!
本帖最后由 敗唫①輩ふ 于 2013-11-8 20:51 编辑

package org.qyx.online;

public class TestClassForName {

        public static void main(String[] args) {
                try {
                        Class.forName("org.qyx.online.Other");//下边的类B
                } catch (ClassNotFoundException e) {
                        e.printStackTrace();
                }
        }
}

class Other {
        static {
                System.out.println("Other's Static");
        }
}
打印出来:Other's Static 。为什么、这个Class.forName()和static有什么关系呢?{:soso_e117:}


作者: 零下五度的水    时间: 2013-11-8 18:17
静态代码块随类本身一起加载,Class.forName就是加载类进入JVM
作者: 寻丶丶觅    时间: 2013-11-8 18:26
Class.forName("org.qyx.online.Other");
这个返回的是一个类,相当于Other o = Class.forName("org.qyx.online.Other");
加载Other时,初始化,执行静态代码块




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2