阅读量:0
在Java中,super
关键字用于引用父类(超类)的一个对象。通过使用super
,你可以访问父类的方法和属性,即使子类已经重写了这些方法或属性。以下是一些关于Java super
操作方法的要点:
- 访问父类属性:使用
super
关键字可以访问父类的属性。例如,如果父类有一个名为data
的属性,子类可以通过super.data
来访问它。 - 调用父类方法:即使子类已经重写了某个方法,你仍然可以使用
super
关键字来调用父类的版本。例如,如果父类有一个名为display()
的方法,子类可以通过super.display()
来调用它。 - 构造方法中的
super
调用:在子类的构造方法中,你可以使用super
关键字来调用父类的构造方法。这确保了父类的初始化逻辑在子类之前执行。需要注意的是,子类构造方法中的super
调用必须放在子类构造方法的第一行。 - 方法重写(Override)中的
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()
方法(假设父类有这个方法)。