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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨勇 中级黑马   /  2014-4-25 23:23  /  965 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

super的作用是直接调用父类中的某一个方法,super处于对象方法中那么就调用父类的对象方法,如果处在类方法中就调用父类的类方法。
在代码中会有多重继承的存在,一个类有多个父类,按照常规理解这个关键字调用的应该是它的直接上一层父类的方法,如果没有的话,则继续向上寻找?有没有谁能贴个代码具体解释下?谢谢!

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 WO.瘾姓埋銘 于 2014-4-25 23:39 编辑

把我删除吧  我看错贴了
回复 使用道具 举报
super关键字主要有以下两种用途。

1.调用父类的构造方法
子类可以调用由父类声明的构造方法。但是必须在子类的构造方法中使用super关键字来调用。其具体的语法格式如下:

super([参数列表]);

如果父类的构造方法中包括参数,则参数列表为必选项,用于指定父类构造方法的入口参数。
2.操作被隐藏的成员变量和被覆盖的成员方法
如果想在子类中操作父类中被隐藏的成员变量和被覆盖的成员方法,也可以使用super关键字,具体格式如下:

super.成员变量名

super.成员方法名([参数列表])
回复 使用道具 举报
本帖最后由 郑亚鸽 于 2014-4-26 00:09 编辑

super  父类的对象
self 本身,写在哪个类的方法中,就是指该类的对象
[super  方法] 调用父类方法
[self  方法] 调用本类方法
注:self在+ 方法中表示类名

在调用时:self 在+方法中,表示类名,只能调用+方法;                                                在-方法中,表示对象,只能调用-方法;
                 super:只能调用父类的方法(包括+、-方法);

不管在+、-方法中都可以用[类名  方法名]调用+方法;

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马