super 是Java中的一个关键字,它可以用来引用当前对象的父类(超类)的成员变量或方法。主要有以下用途:
访问父类的成员变量:
super关键字来访问父类的成员变量。class Parent {
int x = 10;
}
class Child extends Parent {
int x = 20;
void display() {
System.out.println(x); // 输出子类的x,即20
System.out.println(super.x); // 输出父类的x,即10
}
}
调用父类的构造方法:
super来调用父类的构造方法。class Parent {
int x;
Parent(int x) {
this.x = x;
}
}
class Child extends Parent {
int y;
Child(int x, int y) {
super(x); // 调用父类的构造方法
this.y = y;
}
}
访问父类的方法:
super关键字来调用父类的方法。class Parent {
void display() {
System.out.println("Parent");
}
}
class Child extends Parent {
void display() {
super.display(); // 调用父类的display方法
System.out.println("Child");
}
}
在子类构造方法中调用父类的构造方法:
super来调用父类的构造方法时,会默认调用父类的无参构造方法。class Parent {
int x;
Parent(int x) {
this.x = x;
}
}
class Child extends Parent {
int y;
Child(int y) {
this.y = y;
// super(); // 默认调用父类的无参构造方法
}
}
总的来说,super关键字可以用于在子类中访问父类的成员、调用父类的构造方法以及调用父类的方法,从而实现对父类的重用。