代码的运行顺序总结
来源:互联网 发布:node服务器 编辑:程序博客网 时间:2024/06/05 05:43
(一)基本的Java类的运行顺序:
public class Test { private String name = "Java私塾"; private int age = 2; public Test(){ age = 1000;//期望能到1000年,呵呵 } public static void main(String[] args) { Test t = new Test(); System.out.println(t.name+"的年龄是"+t.age+"年"); }}
运行的基本顺序是:
(1):先运行到第7行,这是程序的入口
(2):然后运行到第8行,这里要new一个Test,就要调用Test的构造方法
(3):就运行到第4行,注意:可能很多人觉得接下来就应该运行第5行了,错!初始化一个类,必须先初始化它的属性
(4):因此运行到第2行,然后是第3行
(5):属性初始化完过后,才回到构造方法,执行里面的代码,也就是第5行
(6):然后是第6行,表示new一个Test实例完成
(7):然后回到main方法中执行第9行
(8):然后是第10行
运行的结果是:Java私塾的年龄是1000年
(二)初始化子类必先初始化父类
public class Test extends Parent{private String name = "Java私塾";private int age = 2;public Test(){age = 1000;//期望能到1000年,呵呵}public static void main(String[] args) {Test t = new Test();System.out.println(t.name+"的年龄是"+t.age+"年");}}class Parent{private int num = 1;public Parent(){System.out.println("现在初始化父类");}public void test(){System.out.println("这是父类的test方法");}}
上述类的基本运行顺序是:
(1):先运行到第7行,这是程序的入口
(2):然后运行到第8行,这里要new一个Test,就要调用Test的构造方法
(3):就运行到第4行,注意:初始化子类必先初始化父类
(4):要先初始化父类,所以运行到第14行
(5):然后是第13行,初始化一个类,必须先初始化它的属性
(6):然后是第15行
(7):然后是第16行,表示父类初始化完成
(8):然后是回到子类,开始初始化属性,因此运行到第2行,然后是第3行
(9):子类属性初始化完过后,才回到子类的构造方法,执行里面的代码,也就是第5行
(10):然后是第6行,表示new一个Test实例完成
(11):然后回到main方法中执行第9行
(12):然后是第10行
运行结果是:
现在初始化父类
Java私塾的年龄是1000年
0 0
- 代码的运行顺序总结
- 一份代码的运行顺序分析
- android开发代码顺序影响程序运行的问题
- MFC的运行顺序
- MFC的运行顺序
- Java 运行的顺序
- Javascript的运行顺序
- 进程的运行顺序
- MySQL 运行的顺序
- 关于静态代码块调用顺序的若干问题总结
- Java代码执行顺序总结
- java代码运行顺序-static main
- asp.net 文档结构运行顺序总结
- 运行代码的代码
- 运行代码的代码
- 子类继承父类后,代码块和构造方法的运行先后的顺序
- php代码优化方法,加速运行速度的技巧总结
- php代码优化方法,加速运行速度的技巧总结
- MongoDB(三)mongoDB下载和安装
- google-play-services_lib添加不成功的解决方案
- iOS collectionview小结
- java获取ip地址
- java字符编码转换研究(转)
- 代码的运行顺序总结
- PROC集计算
- WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptRes
- 目标黑马,我的自学之路:第七章 字符串和字符串缓冲区
- 说说Python程序的执行过程
- hdu 5064 Find Sequence(单调性优化DP)
- 从TS流到PAT和PMT
- 数据科学家面试常见的77个问题
- 编程之美2.15 二维数组最大子数组的和(数组下标从(1,1)开始)