Java里super关键字使用的说法
时间: 2024-09-29 17:06:44 浏览: 54
在Java中,`super` 关键字用于访问父类(超类)的成员变量和方法,尤其是在子类构造函数中。它有以下几个用途:
1. **构造函数中的使用**:子类构造函数的第一行通常会调用 `super()` ,这是为了确保父类的初始化先于子类的实例变量初始化。如果不显式调用,JVM会自动添加一条默认的 `super()` 调用。
```java
class Child extends Parent {
public Child() {
super(); // 初始化父类
// 子类的其他初始化
}
}
```
2. **访问父类成员**:如果子类中也有同名的成员变量或方法,可以使用 `super` 来明确指定要调用父类的那个。
```java
class Parent {
int num;
}
class Child extends Parent {
int num; // 子类有自己的num
void printNum() {
System.out.println(super.num); // 访问父类的num
}
}
```
3. **覆盖方法时保留父类的行为**:在重写(override)父类方法时,可以使用 `super.<method>()` 来调用父类的方法,而不是完全覆盖其行为。
```java
class Parent {
void parentMethod() {
System.out.println("Parent method");
}
}
class Child extends Parent {
@Override
void parentMethod() {
super.parentMethod(); // 仍然执行父类的parentMethod
System.out.println("Child override");
}
}
```
阅读全文