浅谈JAVA继承关系中的构造函数

话很少说直接上例子,个人例子中定义了两个类,TheSon和TheFather,TheSon继承了TheFather,如图:

TheSon类的定义:java

在这里插入图片描述

TheFather类的定义:
在这里插入图片描述this

当咱们初始化TheSon类的时候,也就是new TheSon()的时候,就会调用TheSon类中的无参构造器,如图:

在这里插入图片描述


咱们看到在代码中并无调用TheFather类中的构造,来看看运行结果:

在这里插入图片描述


能够看到即便没有调用父类的构造父类的构造依旧执行了,那这是怎么回事呢?spa

答案很简单:java在执行过程当中在执行子类的构造方法以前会隐式的调用父类的无参,如图:3d

在这里插入图片描述


再看运行结果:对象

在这里插入图片描述


当咱们显示的调用以后,它就不会再进行隐式的调用,好比咱们在相同地方调用父类的有参构造,如图:blog

在这里插入图片描述


在这里插入图片描述

有萌新可能就会疑问了,super这个关键字究竟是干吗的?继承

概念:在Java类中使用Super来引用父类的成分,用this来引用当前对象图片

 

提问:new TheSon() 时建立的是一个对象仍是两个对象?

相关文章
相关标签/搜索