Java中基类子对象的构建过程从“基类向外”扩散的如何理解?
来源:互联网 发布:部落冲突金库升级数据 编辑:程序博客网 时间:2024/06/03 23:40
《Java编程思想》复用类一章,提出基类的子对象的构建过程是从基类“向外”进行扩散的。
下面通过实例进行讲解,首先看下面的代码:
import static net.mindview.util.Print.*; //《java编程思想》提供的类库/** * @author Administrator * */public class Cat extends Animal {public Cat() {// TODO Auto-generated constructor stubprint("Caretoon constructor");}public static void main(String[] args) {Cat x = new Cat();}}class Biology {Biology() {// TODO Auto-generated constructor stubprint("Art constructor");}}class Animal extends Biology {Animal() {// TODO Auto-generated constructor stubprint("Drawing constructor");}}
程序运行结果:
在main()函数中,经过单步调试可以看到,创建Cat类型对象时候,首先需要找到Cat类的父类对象,即从Cat类寻找其父类Animal类的构造器,最后寻找Animal的父类Biology类的构造器。
找到Biology基类之后,按照下面顺序,执行各自的构造函数
所以,最终的输出结果,如控制台输出所示。
需要注意的是,即使Cat类不创建构造器,编译器会创建默认的构造器。仍然会调用到基类的构造器。输出结果如下:
阅读全文
0 0
- Java中基类子对象的构建过程从“基类向外”扩散的如何理解?
- [Android实例] 类似地震波向外扩散的自定义控件
- 读扩散和写扩散的理解
- Java中对象的构建过程
- CSS3动画产生圆圈由小变大向外扩散的效果
- 关于初学者如何理解面向对象和面向过程的区别以及java中的类和对象
- Java知识:我对面向对象面向过程的理解&类和对象的关系
- JAVA学习.JAVA对象构建内存理解&静态方法和变量的理解和使用.
- Java如何向外提供接口
- 从圆心向外流光的魔法阵shader
- 从圆心向外流光的魔法阵shader
- 从圆心向外流光的魔法阵shader
- Struts2中ActionMapping对象的构建过程
- Struts2中ActionMapping对象的构建过程
- Struts2中ActionMapping对象的构建过程
- 从java基础加深对面向对象的理解·
- 从一个小程序看Java的对象构造过程
- 深入理解Java虚拟机之对象的创建过程
- Could not get lock /var/lib/dpkg/lock
- IOS 8 .0 系统UITableView 使用注意事项
- 2017.10.26 社团活动总结
- 初学C语言的感受
- c++ list链表的简单使用
- Java中基类子对象的构建过程从“基类向外”扩散的如何理解?
- ZUFEOJ 2229-2239 【A~K&&G==0】
- spingboot热部署,实现jsp页面时时刷新
- C++程序设计案例实训教程第4章
- 编程的那些事儿(二)
- ubuntu17.10 安装Drcom所需要的库
- 第二次自考总结
- SQL Server 触发器
- 常见meta和link标签