java之super关键字

在java中使用super调用父类中的指定操作:

  • super可以用于访问父类中定义的属性;
  • super可以用于调用父类中定义的成员方法;
  • super可以用于在子类构造方法中调用父类的构造器;

注意:

  • 尤其当子父类出现同名成员时,可以使用super进行区分;
  • super的追溯不仅限于直接父类;
  • super和this用法相像,this代表本类对象的引用,super代表父类的内存空间的标识;

子类调用父类的构造器:

  • 子类中所有的构造器器默认都会访问父类的空构造器;
  • 当父类中没有显示定义空构造器时,子类的构造器必须通过this(参数列表)或者super(参数列表)语句指定调用本类或者父类中相应的构造器,且必须放在构造器的第一行;
  • 如果子类构造器中既未显示调用父类或本类的构造器,且父类中又没有无参构造器,则编译出错;
  • 当父类中没有显示定义空构造器且有有参构造器时,子类必须创建一个构造器来调用父类的有参构造器;如果父类中有多个重载的有参构造器,子类中只需要创建一个构造器初始化父类中的其中一个有参构造器即可,父类中的其余有参构造器就不必在子类中进行初始化了。
原文地址:https://www.cnblogs.com/xiximayou/p/12048677.html