计算机在执行程序代码块时,应该按照从上到下的顺序依次执行,为什么会率先执行静态初始化块,之后继续向上执行其他的初始化块?而不是在执行完静态初始化块之后,按照从上到下的顺序,执行其他初始化块
因为静态成员优先于对象存在
我已经知道静态代码块会优先执行,我的关键问题是在例子中,总共声明了三个代码块,分别为,num1,num2,num3,在执行完num3这个静态代码块之后,执行的是num2,按照我的理解应该执行num1,num1和num2都是普通代码块,不是应该按照从上到下的顺序执行吗?逆着来就不是很明白了,现在的话,我认为,我只需要知道程序会优先执行静态代码块就足够了,其他的代码块的执行顺序并没有关系,该声明声明,该赋值的赋值,我只是比较奇怪运行顺序的改变