为什么先输出 通过初始化块赋值num2 在输出通过初始化块赋值num1
这设计到java中的优先级、static 有优先级的、
首先你创建了类的对象hello后,就会按顺序(先执行静态化初始化块,再初始化块,最后构造方法)执行一边,然后依次执行你的输出语句命令,也就是 num1:91; num2:74;num3:83。 最后有创建了一个了的对象hello2,所以又要和前面一样按顺序(先执行静态化初始化块,再初始化块,最后构造方法)执行,但是静态初始化块只能执行一边,所以不再执行了,因此是 先执行初始化块,再执行构造方法。