java中super的用法是啥
时间: 2023-09-05 10:10:46 浏览: 87
在Java中,`super`关键字用于访问父类的成员变量和方法。它可以被用于以下三种情况:
1. 调用父类的构造方法:当一个子类被实例化时,它的构造方法会自动调用父类的无参构造方法。如果父类没有无参构造方法,那么子类的构造方法必须显式地调用父类的构造方法,并且使用`super`关键字来实现。例如:
```java
public class ChildClass extends ParentClass {
public ChildClass() {
super(); // 调用父类的无参构造方法
}
}
```
2. 调用父类的成员变量:如果一个子类定义了一个与父类同名的成员变量,那么可以使用`super`关键字来引用父类的成员变量。例如:
```java
public class ParentClass {
public int x = 10;
}
public class ChildClass extends ParentClass {
public int x = 20;
public void printX() {
System.out.println("子类x的值为:" + x); // 输出 20
System.out.println("父类x的值为:" + super.x); // 输出 10
}
}
```
3. 调用父类的方法:如果一个子类定义了一个与父类同名的方法,那么可以使用`super`关键字来调用父类的方法。例如:
```java
public class ParentClass {
public void print() {
System.out.println("这是父类的print方法");
}
}
public class ChildClass extends ParentClass {
public void print() {
super.print(); // 调用父类的print方法
System.out.println("这是子类的print方法");
}
}
```
阅读全文