Java程序的执行顺序大概可以分成三個部分
1.静态属性:静态方法声明,静态块
2.动态属性:普通方法声明,构造块
而如果类与类之间存在继承关系的话,那么会先执行父類的静态属性接着执行子类的静态属性;然后是父类的动态属性,父类的构造方法;接着执行子类的动态属性;子类的构造方法至此,Java程序便执行完成借用这篇博文的图,如下所示
在本程序一开始,因为使用自身的构造方法创建了新的对象t1, t2这里在内存中便出现了內存压栈
的情形。
最开始的Text
类便被入栈那么在此时,新的Text
类会变成类似于下述的样子
已经被最开始的Text
类执行,因此新的Text
类并不会再次執行上述语句
那么按照Java程序执行顺序一节的介绍,执行完成后会打印
此时该Text
类成功创建了对象t1。同理创建对象t2打印出
此时程序已经執行到(但暂未执行)。这里应该注意到上述新的Text
类已经完全执行结束。这里执行的Text
类则是最开始的Text
类
执行完成后虽然没有打印任何東西,但是应该注意到n
已经发生了变化
根据Java程序执行顺序一节的介绍的流程,会接着执行
执行完成后打印下述结果。
这里已经完成了類的静态属性静态代码块的初始化工作。最后执行main
这个特殊的静态方法打印出下述结果。
到这里整个Java程序便执行完成。最终结果如丅所述
为了方便查看,对格式进行了调整
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。