super关键字

super关键字

super 关键字是一个引用,它指向当前对象的直接父类。使用 super 关键字可以访问父类中定义的成员,包括属性、方法和构造函数。

  1. 访问父类的属性:如果子类重写了父类的方法,并且需要在子类方法中使用父类的方法实现,可以使用 super 来引用父类的方法。
  2. 调用父类的方法:当子类需要扩展父类的方法时,可以使用 super 来调用父类中相应的方法。
  3. 调用父类的构造函数:在子类的构造函数中,可以使用 super() 来调用父类的构造函数。这通常在子类构造函数的第一行进行,以确保在子类对象的初始化过程中,父类的状态也被正确初始化。
  4. 访问父类的静态成员:虽然 super 通常用于访问实例成员,但它也可以用于访问父类的静态成员。但是,通常直接使用类名来访问静态成员。
  5. 在多态上下文中:当通过父类引用调用子类对象的方法时,super 关键字在子类的方法中仍然指向父类,而不是子类。

以下是使用 super 关键字的一些示例:

class Parent {
    void show() {
        System.out.println("Parent's show()");
    }
}

class Child extends Parent {
    void show() {
        super.show(); // 调用父类的 show() 方法
        System.out.println("Child's show()");
    }
}

public class TestSuper {
    public static void main(String[] args) {
        Child c = new Child();
        c.show(); // 输出 Parent's show() 然后输出 Child's show()
    }
}
posted @ 2024-08-08 20:38  糊涂图-4060  阅读(22)  评论(0)    收藏  举报