我试图覆盖我的java子类中的超类中的方法,然后从超类中调用overriden方法。这是正确的方法吗?我想要覆盖的超类中的方法叫做describe()
public static void describe()
{
Item.describe();
}
答案 0 :(得分:3)
使用super
关键字。
@Override
public void describe() {
super.describe();
}
注意注释虽然不是必需的但是“正确”。
正如所指出的,静态方法不会被继承。使用反射可以使用静态方法模仿多态行为,但我不建议初学者使用它。这只是你可以做的事情。您可以在子类中创建相同的静态方法签名,并在超类引用上使用Method.invoke()
,在功能上它与覆盖静态方法相同。