Java-关键字:super
一、在Java类中使用super来调用父类中的指定操作:
如果想调用父类被重写过的方法可以用super.(方法)
- 1.super可用于访问父类中定义的属性
- 2.super可用于调用父类中定义的成员方法
- 3.super可用于在子类构造器中调用父类的构造器
- 4.super和this的用法相像,this代表本类对象的引用,supe代表父类的内存空间的标识
二、调用父类的构造器:
- 1.子类中所有的构造器默认都会访问父类中空参数的构造器
- 2.当父类中没有空参数的构造器时,子类的构造器必须通过this(参数列表)或者super(参数列表)语句指定调用本类或者父类中相应的构造器。
- 同时,只能”二选一”,且必须放在构造器的首行
- 3.如果子类构造器中既未显式调用父类或本类的构造器,且父类中又没有无参的构造器,则编译出错
区别点 | this | super |
---|---|---|
访问属性 | 访问本类中的属性,如果本类没有此属性则从父类中继续查找 | 直接访问父类中的属性 |
调用方法 | 访问本类中的方法,如果本类没有此方法则从父类中继续查找 | 直接访问父类中的方法 |
调用构造器 | 调用本类构造器,必须放在构造器的首行 | 调用父类构造器,必须放在子类构造器的首行 |