Java中的super关键字主要有两个用法:
- 调用父类的构造方法:当子类的构造方法被调用时,可以使用super关键字来调用父类的构造方法。这个调用必须是子类构造方法的第一行语句,用来初始化父类的成员变量和执行父类的构造方法。例如:
public class Parent { private int age; public Parent(int age) { this.age = age; } } public class Child extends Parent { private String name; public Child(int age, String name) { super(age); // 调用父类的构造方法 this.name = name; } }
- 调用父类的成员变量和方法:在子类中,可以使用super关键字来访问父类的成员变量和方法。这对于子类中有与父类同名的成员变量或方法时特别有用。例如:
public class Parent { private int age; public void display() { System.out.println("Parent class"); } } public class Child extends Parent { private int age; public void display() { super.display(); // 调用父类的display方法 System.out.println("Child class"); } }
在上述例子中,子类中的display方法通过super.display()调用了父类的display方法,从而实现了对父类方法的重用。