继承和初始化时,程序运行顺序的自己的理解。
来源:互联网 发布:数据切片和切块 编辑:程序博客网 时间:2024/06/05 01:13
代码如下:(java编程思想第四版书上代码)
首先是一个基类:
2.子类代码
运行结果:
1、static Insect x1 init
2、static beetle.x2 init
3、beetle constructor
4、i=9,j=0
5、Beetle.k init
6、k==47
7、j==39
程序的运行顺序如下:
如果存在基类,则程序运行时,会先初始化基类的static。然后初始化自身类的static。
所以控制台会先打印出1,2两行代码。
程序继续往下执行,会先执行main函数中的打印*(System.out.println("beetle constructor");)。这是第三行。
然后会初始化Beetle对象。它是子类。所以需要先初始化父类的构造器。所以打印的第四个结果是父类中的构造器打印(即。i=9,j=0)
接着会初始化子类对象。按照程序顺序,先打印出Beetle.k init。最后执行子类构造器函数打印。
总是不理解这里的运行。基础太差了。塌下心来看下基础。有了很多的体会。慢慢的感觉java越来越有意思。以后养成写博客的习惯。希望以后会越来越好。
阅读全文
0 0
- 继承和初始化时,程序运行顺序的自己的理解。
- 类的继承,初始化后运行顺序
- Java程序运行的初始化顺序
- 内部类的继承和初始化顺序
- 深入java (类)深入理解类的继承和初始化顺序
- JAVA中继承时的初始化顺序
- Java继承时的初始化顺序
- java继承时初始化的执行顺序
- 继承后的初始化顺序
- Java:继承的初始化顺序
- 继承关系的类初始化和实例化的顺序
- 继承关系的类初始化和实例化的顺序
- 继承关系的类初始化和实例化的顺序
- 继承类各成员和方法的初始化顺序_05
- 类继承和初始化类的执行顺序
- Flex 程序的初始化顺序
- Flex 程序的初始化顺序
- Flex 程序的初始化顺序
- POJ1742 Coins(多重背包可行性)
- 系统延迟及定时机制
- 【Linux内核】学习资料
- [Oracle 11g r2(11.2.0.4.0)]Oracle Golden Gate Training-workshop3
- dns请求包
- 继承和初始化时,程序运行顺序的自己的理解。
- Android 加载高清巨图,无需剪裁压缩
- 大周总结
- 调用动态链接库*.so
- 编译接口工具类
- Java算法之直接插入排序
- linux性能监控工具-(显示系统整体资源使用情况-top命令)
- 旷视科技完成4.6亿美元C轮融资,打破商汤4.1亿美元单轮融资记录
- 解密DNA机器人“巨大的一小步”:血液循环中精准送达药物