是的,super
是Java中的关键字,主要用于在子类中访问父类的成员(属性、方法、构造方法)。它解决了子类与父类成员重名时的调用冲突,并确保继承关系的正确初始化。以下是其核心用法和注意事项:
-
访问父类成员变量
当子类与父类存在同名变量时,super.变量名
可明确指定访问父类的变量。例如,父类有int num=10
,子类有int num=20
,通过super.num
获取父类的值。 -
调用父类方法
若子类重写了父类方法,仍可通过super.方法名()
调用父类原始方法。例如,子类重写display()
后,用super.display()
保留父类逻辑。 -
调用父类构造方法
子类构造方法中,super()
必须作为第一条语句(显式或隐式),用于初始化父类成员。若父类无无参构造器,需显式调用super(参数)
。 -
注意事项
super
仅限子类使用,且不能用于静态成员。- 构造方法中,
super()
与this()
不可共存。 - 若父类成员为
private
,需通过父类提供的getter
方法访问。
合理使用super
能提升代码复用性,避免命名冲突,同时确保继承链的完整执行。掌握其规则是Java面向对象编程的基础。