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

来源:8-10 Java 中的 static 使用之静态初始化块

Java怪

2015-01-31 16:21

求大神解释

写回答 关注

3回答

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

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

    勤奋好学帅学... 回复Java怪

    就是HelloWorld这个类声明创建一个对象的时候,就会执行这个类里的初始化操作

    2015-02-02 18:12:39

    共 2 条回复 >

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

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

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

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

    重点是为什么会执行?

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530653 学习 · 6091 问题

查看课程

相似问题