A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© SF_NEVERMORE 中级黑马   /  2015-10-21 21:18  /  282 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

super关键字函数覆盖
在子父类中,成员的特点体现:
1.成员变量
this和super的用法很相似。
this代表本类对象的引用。
super代表父类的内存空间的标识。
当本类的成员和局部变量同名用this区分。
当子父类中的成员变量同名用super区分父类。
2.成员函数
当子父类中出现成员函数一模一样的情况,会运行子类的函数。
这种现象,称为覆盖操作,这是函数在子父类中的特性。
在子类覆盖方法中,继续使用被覆盖的方法可以通过super.函数名获取。
函数两个特性:
1.重载,同一个类中。
2.覆盖,子类中,覆盖也称为重写,覆写,override。
什么时候使用覆盖操作?
当子类需要父类的功能,而功能主体子类有自己特有内容时,可以复写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。
1、父类中的私有方法不可以被覆盖。
2、父类为static的方法无法覆盖。
3、覆盖时,子类方法权限一定要大于等于父类方法权限。
3.构造函数
子父类中构造函数的特点:在子类构造函数执行时,发现父类构造函数也运行了。
原因:在子类的构造函数中,第一行有一个默认的隐式语句:super();。
注意:如果使用super();语句调用父类的其他构造函数,那么默认的父类构造函数将不会再被调用。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马