📜  Java super关键字(1)

📅  最后修改于: 2023-12-03 14:42:16.577000             🧑  作者: Mango

Java super关键字

在Java中,super是一个关键字,它用于引用父类的成员(方法、变量和构造函数)。

用法
1. 引用父类的变量

使用 super 关键字可以在子类中引用父类中的变量。例如:

public class Parent {
    int parentVariable = 10;
}

public class Child extends Parent {
    int childVariable = 20;
    
    public void printVariables() {
        System.out.println("parentVariable: " + super.parentVariable);
        System.out.println("childVariable: " + childVariable);
    }
}

Child child = new Child();
child.printVariables();

以上程序会输出:

parentVariable: 10
childVariable: 20
2. 调用父类的构造函数

使用 super 关键字可以在子类中调用父类的构造函数,如下所示:

public class Parent {
    int x;
    
    public Parent(int x) {
        this.x = x;
    }
}

public class Child extends Parent {
    int y;
    
    public Child(int x, int y) {
        super(x); // 调用 Parent 的构造函数
        this.y = y;
    }
}

Child child = new Child(10, 20);

在这个例子中,Child 类调用了 Parent 类的构造函数来初始化 x 成员变量。

3. 调用父类的方法

在子类中使用 super 关键字可以调用父类中的方法。例如:

public class Parent {
    public void print() {
        System.out.println("Parent class");
    }
}

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

Child child = new Child();
child.print();

以上程序会输出:

Parent class
Child class
总结

super 是Java中的关键字,用于引用父类的成员。它可以用于引用父类的变量、构造函数和方法。在子类中使用 super 关键字时要格外小心,因为它会影响整个对象的状态和行为。