能否解释Java中继承和多态中super关键字的具体用途及作用?
时间: 2024-11-03 16:19:19 浏览: 35
在Java中,`super`关键字主要用于访问和调用父类的成员,包括构造函数、变量和方法。它有以下几个关键用途:
1. **构造函数调用**:当创建子类的对象时,如果子类没有提供自己的构造函数,可以使用`super()`调用父类的无参构造函数,确保父类的初始化被完成。
```java
class Parent {
public Parent() { ... }
}
class Child extends Parent {
Child() {
super(); // 调用父类的构造函数
}
}
```
2. **访问父类变量**:在子类中,`super.`前加上变量名可以直接引用父类的同名变量,避免了命名冲突。
```java
class Parent {
int parentVar = 5;
}
class Child extends Parent {
int childVar = 10;
void accessParent() {
System.out.println(super.parentVar); // 输出5
}
}
```
3. **调用父类方法**:`super.`后面接上方法名,允许你在子类对象上调用父类的方法。
```java
class Parent {
public void parentMethod() {
System.out.println("Parent method");
}
}
class Child extends Parent {
void overrideMethod() {
super.parentMethod(); // 调用父类的parentMethod()
}
}
```
阅读全文