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

求大神解答

http://img.mukewang.com/56f6817d000111ed07330607.jpg

为什么执行之后会出现

先运行System.out.println("num2"+hello.num2)这句

而不是从上面第一句输出运行?

提问者:Zkjia 2016-03-26 20:35

个回答

  • sqz_彼岸花开
    2016-03-26 20:51:13
    已采纳

    程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。

  • qq_若兮如初_0
    2016-03-26 21:03:59

    运行时先执行静态初始化块,再执行普通初始化块,最后才执行构造方法

  • qq_QN_0
    2016-03-26 20:56:59

    练习加实践

  • 围城之java
    2016-03-26 20:52:56

    楼上正解,顺序不同是因为优先度不同,而不是按照从上到下的顺序

  • z000000000
    2016-03-26 20:51:38

    程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法.