点我

概述

super代表父类的引用,用于访问父类的属性(变量)、方法、构造器。

注意事项

  • super可以访问父类的属性,但是不能访问父类的private属性。
    super.属性名
  • super可以访问父类的方法,但是不能访问父类的private方法。
    super.方法名(参数列表)
  • super可以访问父类的构造器,但是只能放在子类构造器的第一行(只能出现一句)。
    super(参数列表)

细节

  • 调用父类的构造器(父类属性由父类进行初始化,子类属性由子类进行初始化)。
  • 当子类中有和父类的成员(属性和方法)重名时,为了访问父类的成员,必须通过super进行访问。
    如果没有重名,使用super、this、直接访问三种效果一样。
  • super的访问不限于直接父类,如果爷爷类或本类中有同名的成员,也可以使用super去访问爷爷的成员;如果多个父类中都有同名的成员,使用super则遵循就近原则。(a->b->c)

super与this的比较

分类: JAVA

评论

-- 评论已关闭 --

目录