在Java中,super
关键字用于引用父类(超类)的一个对象。通过使用super
,你可以访问父类的方法和属性,即使子类已经重写了这些方法或属性。以下是一些关于Java super
操作方法的要点:
super
关键字可以访问父类的属性。例如,如果父类有一个名为data
的属性,子类可以通过super.data
来访问它。super
关键字来调用父类的版本。例如,如果父类有一个名为display()
的方法,子类可以通过super.display()
来调用它。super
调用:在子类的构造方法中,你可以使用super
关键字来调用父类的构造方法。这确保了父类的初始化逻辑在子类之前执行。需要注意的是,子类构造方法中的super
调用必须放在子类构造方法的第一行。super
调用:在子类中重写父类的方法时,你可以使用super
关键字来调用父类的版本。这被称为方法链(Method Chaining)。例如,如果父类有一个名为process()
的方法,子类可以通过super.process()
来调用它,然后继续执行子类的其他逻辑。以下是一个简单的示例,演示了如何在子类中使用super
关键字访问父类的属性和方法:
class Parent {
String data = "Parent Data";
void display() {
System.out.println("Display from Parent: " + data);
}
}
class Child extends Parent {
String data = "Child Data";
void display() {
super.display(); // 调用父类的display()方法
System.out.println("Display from Child: " + this.data);
}
void process() {
super.process(); // 假设父类有一个process()方法
System.out.println("Processing in Child");
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.display(); // 输出:
// Display from Parent: Parent Data
// Display from Child: Child Data
child.process(); // 输出:
// Assuming Parent has a process() method
// Processing in Child
}
}
在这个示例中,Child
类继承了Parent
类,并重写了display()
方法。在重写的方法中,我们使用super.display()
来调用父类的版本。同时,Child
类还调用了父类的process()
方法(假设父类有这个方法)。