站长工具果冻传媒微信群推广网站
super
是Java中的一个关键字,它可以用来引用当前对象的父类(超类)的成员变量或方法。主要有以下用途:
-
访问父类的成员变量:
- 当子类和父类中有同名的成员变量时,可以使用
super
关键字来访问父类的成员变量。
class Parent {int x = 10; }class Child extends Parent {int x = 20;void display() {System.out.println(x); // 输出子类的x,即20System.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
关键字可以用于在子类中访问父类的成员、调用父类的构造方法以及调用父类的方法,从而实现对父类的重用。