一、super关键字的使用
(1)为什么需要super?
举例1:子类继承父类以后,对父类的方法进行了重写,那么在子类中,是否还可以对父类中被重写的方法进行调用?
可以!
举例2:子类继承父类以后,发现子类和父类中定义了同名的属性(若子类造对象,就会有两个同名属性),是否可以在子类中区分两个同名的属性?(方法可以覆盖,属性不能覆盖)
可以!
如何调用? 使用super
关键字即可。
(2)super的理解
super的理解:父类的
在子类中,若想调用父类中被重写的方法,就用super.方法
即可;若想调用父类中的属性,就用super.属性
即可。
若没有写super,调用的就是子类中重写的方法和子类里面声明的属性。
在Java类中使用super来调用父类中的指定操作:
- super可用于访问父类中定义的属性
- super可用于调用父类中定义的成员方法
- super可用于在子类构造器中调用父类的构造器
注意:
- 尤其当子父类出现同名成员时,可以用super表明调用的是父类中的成员
- super的追溯不仅限于直接父类
- super和