在Java继承机制中,当子类定义了与父类同名的成员变量或方法时,父类成员会被隐藏。如果我们想在子类中访问这些被隐藏的父类成员,可以使用super关键字。

以下代码示例演示了如何使用super关键字访问被隐藏的父类成员:

class A {
    int value = 10;

    A() {
        System.out.println(\"我是父类A\");
    }

    void show() {
        System.out.println(\"我是父类A的show()方法\");
    }
}

class B extends A {
    int value = 20;

    B() {
        System.out.println(\"我是子类B\");
    }

    void display() {
        System.out.println(\"我是子类B的display()方法\");
        System.out.println(\"子类B的value:\" + value);
        System.out.println(\"父类A的value:\" + super.value);
        super.show();
    }
}

public class Main {
    public static void main(String[] args) {
        B b = new B();
        b.display();
    }
}

在上述代码中:

  • super.value 访问了父类A中被隐藏的成员变量 value
  • super.show() 调用了父类A中被隐藏的方法 show()