问答详情
源自:8-10 Java 中的 static 使用之静态初始化块

我想问的是例题中最后一个对象hello2只是创建出来了,为什么还会执行,而且有了“通过初始化块为变量num2赋值”“通过初始化块为变量num1赋值”这俩结果呢?

求大神解释

提问者:Java怪 2015-01-31 16:21

个回答

  • 勤奋好学帅学生
    2015-02-02 14:11:37

    这个类就是在创建时为变量初始化赋值,所以肯定会执行啊

  • Java怪
    2015-01-31 17:43:24

    hello2对象创建完,构造方法就被执行了。

    程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。

  • Java怪
    2015-01-31 16:23:33

    重点是为什么会执行?