黑马程序员技术交流社区

标题: 请教大家一个关于字节码文件对象的问题 [打印本页]

作者: 唯一和弦    时间: 2016-11-18 20:35
标题: 请教大家一个关于字节码文件对象的问题
本帖最后由 唯一和弦 于 2016-11-18 20:37 编辑

获得字节码文件对象有三种方式:
例如:public class Person {
    static {
        System.out.println("我是静态代码块!");
    }
}
1,Class clazz=new Person().getClass();
2,Class clazz=包路径.Person.class;
3,Class clazz=Class.forName("包路径.Person");
但为什么第二种不会运行构造代码块呢,是因为类没有加载么?那为什么可以获得字节码文件对象呢?


作者: 1413157322    时间: 2016-11-24 23:12
构造代码块是在对象创建时才会执行,第二种并没有创建对象
作者: 唯一和弦    时间: 2016-11-25 11:57
1413157322 发表于 2016-11-24 23:12
构造代码块是在对象创建时才会执行,第二种并没有创建对象

谢谢 forname是获得字节码文件对象 但也运行了构造代码块呢




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