结合代码解释super的作用
时间: 2024-09-12 08:09:34 浏览: 25
LRTV: MR Image Super-Resolution论文代码
在Java中,`super` 关键字用于访问父类的成员(属性和方法)。它主要有以下几个作用:
1. 调用父类的构造方法。在子类的构造器中使用`super`可以调用父类的构造器,确保父类被正确初始化。
2. 访问父类被子类覆盖的属性和方法。如果子类中有与父类同名的属性或方法,可以通过`super`来访问父类中的属性和方法。
下面通过代码示例来说明`super`的作用:
```java
class Parent {
int num = 10;
Parent() {
System.out.println("父类的构造方法");
}
void display() {
System.out.println("父类的方法");
}
}
class Child extends Parent {
int num = 20;
Child() {
super(); // 调用父类的构造方法
System.out.println("子类的构造方法");
}
void display() {
super.display(); // 调用父类的方法
System.out.println("子类的方法");
}
void show() {
System.out.println(num); // 输出子类的num
System.out.println(super.num); // 输出父类的num
}
}
public class Test {
public static void main(String[] args) {
Child child = new Child();
child.display();
child.show();
}
}
```
在这个例子中:
- `Child` 类继承自 `Parent` 类。
- 在 `Child` 类的构造器中使用 `super()` 调用了 `Parent` 类的构造器,确保父类部分被正确初始化。
- `Child` 类中的 `display` 方法使用 `super.display()` 调用了父类的同名方法。
- `show` 方法中,先输出了 `Child` 类自身的 `num` 属性,然后通过 `super.num` 访问并输出了 `Parent` 类中的 `num` 属性。
输出结果将是:
```
父类的构造方法
子类的构造方法
父类的方法
子类的方法
20
10
```
阅读全文