super关键字用于访问父类成员,调用被重写的方法时使用super.方法名()可执行父类逻辑;子类构造器中通过super()调用父类构造器且必须位于首行;super不能在静态方法中使用,仅限直接父类访问。

在Java中,super关键字用于访问父类的成员,包括方法、构造器和属性。当你需要调用被子类重写(override)的父类方法时,就可以使用super来明确指定调用的是父类版本的方法。
基本语法:调用父类方法
使用 super.方法名() 的形式可以调用父类中定义的方法。例如,父类有一个 display() 方法,子类重写了它,但你希望在子类中仍然执行父类的逻辑,就可以这样写:
class Parent {
void display() {
System.out.println("父类的 display 方法");
}
}
class Child extends Parent {
@Override
void display() {
super.display(); // 调用父类的 display 方法
System.out.println("子类的额外逻辑");
}
}
在这个例子中,调用 child.display() 会先输出父类的信息,再输出子类新增的内容。
在构造器中调用父类构造器
子类构造器可以通过 super() 调用父类的构造器,必须放在第一行。如果父类有带参数的构造器,子类必须显式调用它,否则编译报错。
基于ECSHOP2.7.2制作,模板使用的是早期的凡客模板。整站大气,清爽。适合综合,鞋子,服饰类商城使用。具体安装方法在程序包中有说明,在使用之前请看下。 大体方法:1.上传程序至网站根目录,访问:域名/diguo (用户名:admin 密码:123456)2.设置好数据库信息,然后恢复数据,数据目录在www.shopex5.com下.3.修改data目录下的config数据库配置文件。4.登陆
立即学习“Java免费学习笔记(深入)”;
class Parent {
String name;
Parent(String name) {
this.name = name;
}
}
class Child extends Parent {
Child(String name) {
super(name); // 调用父类带参构造器
}
}
访问被隐藏的父类方法(非重写情况)
即使没有重写,也可以用 super 调用父类方法,增强代码可读性或复用逻辑。这种做法虽然不常见,但在需要明确表达“此处调用了父类行为”时很有用。
- super 只能访问直接父类,不能跳级访问祖父类(除非逐层调用)
- 不能在静态上下文中使用 super,比如 static 方法中
- super() 只能在构造器中调用一次,且必须是首行
基本上就这些。只要记住 super 是通往父类的桥梁,尤其在重写方法后还想保留原有行为时特别有用。正确使用它能让继承关系更清晰,代码更可控。不复杂但容易忽略细节。









