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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小学生0987 中级黑马   /  2012-11-9 11:09  /  1672 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

super除了可以调用父类的构造方法外,还有其他作用没?

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
(I)super关键字(1)super关键字与this关键字都可以实现将屏蔽的类成员为可见。(II)成员被屏蔽的情况(1)在同一个类中,局部变量与成员变量同名时,局部变量在方法内可见。(2)子类继承父类,子类中的某个方法覆盖了父类的方法,在子类中父类方法为不可见。(3)在子类中定义了与父类同名的成员变量,在子类中父类的成员变量为不可见。(III)访问父类成员语法:super.<父类成员变量

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
super关键字
(1)super关键字与this关键字都可以实现将屏蔽的类成员为可见。
(II)成员被屏蔽的情况(1)在同一个类中,局部变量与成员变量同名时,局部变量在方法内可见。(2)子类继承父类,子类中的某个方法覆盖了父类的方法,在子类中父类方法为不可见。(3)在子类中定义了与父类同名的成员变量,在子类中父类的成员变量为不可见。
(III)访问父类成员语法:super.<父类成员变量

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1

查看全部评分

回复 使用道具 举报
在继承关系中,子类中的super可以调用父类的中的方法,包括构造方法和其他方法;当你new 一个子类的实例时,实际是在子类的构造方法中隐式地调用了父类的无参构造方法;

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
super出现在继承了父类的子类中。有三种存在方式:
第一种
super.xxx;(xxx为变量名或对象名)
这种方法意义为,获取父类中的名字为xxx的变量或方法引用。
使用这种方法可以直接访问父类中的变量或对象,进行修改赋值等操作
第二种
super.xxx();(xxx为方法名)
这种方法意义为,直接访问并调用父类中的方法。
第三种
super();
这种方法意义为,调用父类的初始化方法,其实就是调用父类中的public xxx()方法

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

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