为什么执行之后会出现
先运行System.out.println("num2"+hello.num2)这句
而不是从上面第一句输出运行?
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。
运行时先执行静态初始化块,再执行普通初始化块,最后才执行构造方法
练习加实践
楼上正解,顺序不同是因为优先度不同,而不是按照从上到下的顺序
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法.