如何理解Java中基类子对象的构建过程从"基类向外"进行扩散的?

2025-05-29 0 44

《java编程思想》复用类一章,提出基类子对象构建过程是从基类“向外”进行扩散的。

下面通过实例进行讲解,首先看下面的代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26
import static net.mindview.util.print.*; //《java编程思想》提供的类库

/**

* @author administrator

*

*/

public class cat extends animal {

public cat() {

// todo auto-generated constructor stub

print("caretoon constructor");

}

public static void main(string[] args) {

cat x = new cat();

}

}

class biology {

biology() {

// todo auto-generated constructor stub

print("art constructor");

}

}

class animal extends biology {

animal() {

// todo auto-generated constructor stub

print("drawing constructor");

}

}

程序运行结果:

如何理解Java中基类子对象的构建过程从"基类向外"进行扩散的?

在这里共声明了三个类,分别是biology, animal,cat. 继承关系如下:

如何理解Java中基类子对象的构建过程从"基类向外"进行扩散的?

main()函数中,经过单步调试可以看到,创建cat类型对象时候,首先需要找到cat类的父类对象,即从cat类寻找其父类animal类的构造器,最后寻找animal的父类biology类的构造器。

找到biology基类之后,按照下面顺序,执行各自的构造函数

如何理解Java中基类子对象的构建过程从"基类向外"进行扩散的?

所以,最终的输出结果,如控制台输出所示。

需要注意的是,即使cat类不创建构造器,编译器会创建默认的构造器。仍然会调用到基类的构造器。输出结果如下:

如何理解Java中基类子对象的构建过程从"基类向外"进行扩散的?

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对快网idc的支持。如果你想了解更多相关内容请查看下面相关链接

原文链接:https://blog.csdn.net/yangyong0717/article/details/78386477

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 如何理解Java中基类子对象的构建过程从"基类向外"进行扩散的? https://www.kuaiidc.com/109093.html

相关文章

发表评论
暂无评论