0

我试图在我的 java 子类中覆盖超类中的一个方法,然后从超类中调用被覆盖的方法。这是正确的方法吗。我要覆盖的超类中的方法称为 describe()

 public static void describe()
    {
        Item.describe();



    }
4

1 回答 1

3

使用super关键字。

@Override
public void describe() {
    super.describe();
}

请注意虽然不是必需的注释是“正确的”。

正如所指出的,静态方法不会被继承。可以使用反射来模仿静态方法的多态行为,但我不建议初学者这样做。这只是你可以做的事情。您可以在子类中创建相同的静态方法签名并Method.invoke()在超类引用上使用,在功能上它与覆盖静态方法相同。

于 2013-10-24T20:05:56.290 回答