黑马程序员技术交流社区

标题: 关于super的小问题 [打印本页]

作者: 小学生0987    时间: 2012-11-9 11:09
标题: 关于super的小问题
super除了可以调用父类的构造方法外,还有其他作用没?
作者: 王豪    时间: 2012-11-9 12:40
(I)super关键字(1)super关键字与this关键字都可以实现将屏蔽的类成员为可见。(II)成员被屏蔽的情况(1)在同一个类中,局部变量与成员变量同名时,局部变量在方法内可见。(2)子类继承父类,子类中的某个方法覆盖了父类的方法,在子类中父类方法为不可见。(3)在子类中定义了与父类同名的成员变量,在子类中父类的成员变量为不可见。(III)访问父类成员语法:super.<父类成员变量
作者: 王豪    时间: 2012-11-9 12:41
super关键字
(1)super关键字与this关键字都可以实现将屏蔽的类成员为可见。
(II)成员被屏蔽的情况(1)在同一个类中,局部变量与成员变量同名时,局部变量在方法内可见。(2)子类继承父类,子类中的某个方法覆盖了父类的方法,在子类中父类方法为不可见。(3)在子类中定义了与父类同名的成员变量,在子类中父类的成员变量为不可见。
(III)访问父类成员语法:super.<父类成员变量

作者: 崔利鹏    时间: 2012-11-9 14:37
在继承关系中,子类中的super可以调用父类的中的方法,包括构造方法和其他方法;当你new 一个子类的实例时,实际是在子类的构造方法中隐式地调用了父类的无参构造方法;
作者: 刘丽娜    时间: 2012-11-9 16:54
super出现在继承了父类的子类中。有三种存在方式:
第一种
super.xxx;(xxx为变量名或对象名)
这种方法意义为,获取父类中的名字为xxx的变量或方法引用。
使用这种方法可以直接访问父类中的变量或对象,进行修改赋值等操作
第二种
super.xxx();(xxx为方法名)
这种方法意义为,直接访问并调用父类中的方法。
第三种
super();
这种方法意义为,调用父类的初始化方法,其实就是调用父类中的public xxx()方法




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2