子类继承了父类之后,子类的类域被划分成了两个作用域,两个作用域之间互不干扰
互不干扰是指可以有以下情况发生
1. 两个作用域中分别定义两个变量,这两个变量的名称和类型相同,假设此变量名为 v
2. 两个作用域中分别定义两个函数,这两个函数的名称完全相同,假设此函数名为 f
这两种情况有一种发生,都发生了重定义,注意2. 中对于参数列表和返回值的异同情况不作关注
此时创建一个子类对象,
当子类对象访问 v 时,会默认访问子类新的作用域中的那个 v
当子类对象调用 f 时,会默认访问子类新的作用域中的那个 f
如果想要子类旧的作用域中的 v 和 f,只需要在调用时在前面加上 父类名 ::
在一个作用域中,如果出现了两个同名函数,而且这两个同名函数的参数列表不同,那么此时发生了函数重载,注意此时对于函数返回值的一同情况不作关注
java程序多态继承基础题目
此时调用这个作用域中的函数,要根据函数调用时,参数列表的匹配情况确定调用哪个函数
好了,看了上面的内容,做一下下面这道题吧
子类和父类中构造函数和析构函数的关系
针对子类对象在创建时,以及生命周期到了以后结束时这两个阶段分别进行讨论
子类对象在创建时,分两种情况
情况一:子类的初始化列表中没有关于父类构造的代码
此时先调用父类的 默认 构造函数,再调用子类的构造函数
情况二:子类的初始化列表中存在关于创建父类对象的代码
此时先调用父类的构造函数,再调用子类的构造函数
注意:此时调用父类的构造函数一定是通过父类的指针进行调用的
子类对象在销毁时,
此时先调用子类中的析构函数,再调用父类中的析构函数
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/25128.html